From ecd17fdefb8be9c221546b0be0b1e6e9458c29e2 Mon Sep 17 00:00:00 2001 From: mobius <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sat, 7 Feb 2015 23:48:56 +0000 Subject: [PATCH] Sync with L2JServer Feb 7th 2015. --- trunk/dist/game/config/General.properties | 64 +- trunk/dist/game/data/Routes.xml | 24 - trunk/dist/game/data/html/default/32777.htm | 2 +- trunk/dist/game/data/html/default/32778.htm | 4 +- trunk/dist/game/data/html/pccafe.htm | 4 +- .../CavernOfThePirateCaptainWorldDay60.xml | 1 + .../CavernOfThePirateCaptainWorldNight60.xml | 1 + ...ttle.xml => IceQueensCastleBattleEasy.xml} | 1 + ....xml => IceQueensCastleBattleHardcore.xml} | 3 +- trunk/dist/game/data/multisell/305986001.xml | 49 - trunk/dist/game/data/multisell/305986002.xml | 19 - trunk/dist/game/data/scripts.cfg | 28 +- .../data/scripts/ai/fantasy_isle/MC_Show.java | 18 +- .../AdenReconstructorManager.java | 10 +- .../ai/group_template/FeedableBeasts.java | 7 +- .../scripts/ai/group_template/GiantsCave.java | 12 +- .../ai/group_template/LairOfAntharas.java | 8 +- .../ai/group_template/MinionSpawnManager.java | 4 +- .../ai/group_template/MonasteryOfSilence.java | 10 +- .../ai/group_template/PlainsOfDion.java | 8 +- .../group_template/PolymorphingOnAttack.java | 4 +- .../ai/group_template/PrimevalIsle.java | 4 +- .../ai/group_template/PrisonGuards.java | 6 +- .../scripts/ai/group_template/RangeGuard.java | 118 -- .../ai/group_template/SelMahumDrill.java | 6 +- .../ai/group_template/SelMahumSquad.java | 6 +- .../ai/group_template/SilentValley.java | 4 +- .../scripts/ai/group_template/TurekOrcs.java | 3 +- .../scripts/ai/group_template/VarkaKetra.java | 218 --- .../group_template/WarriorFishingBlock.java | 8 +- .../scripts/ai/individual/Baium/Baium.java | 4 +- .../data/scripts/ai/individual/Banette.java | 71 + .../data/scripts/ai/individual/Beleth.java | 3 +- .../game/data/scripts/ai/individual/Bink.java | 64 + .../game/data/scripts/ai/individual/Core.java | 14 +- .../ai/individual/CrimsonHatuOtis.java | 4 +- .../data/scripts/ai/individual/Devno.java | 93 ++ .../data/scripts/ai/individual/DrChaos.java | 10 +- .../data/scripts/ai/individual/Eleve.java | 92 ++ .../ai/individual/FrightenedRagnaOrc.java | 14 +- .../data/scripts/ai/individual/Gagabu.java | 70 + .../data/scripts/ai/individual/Galad.java | 66 + .../scripts/ai/individual/GuardSoldier.java | 71 + .../Handermonkey.java} | 59 +- .../data/scripts/ai/individual/Heymond.java | 71 + .../data/scripts/ai/individual/Holly.java | 69 + .../data/scripts/ai/individual/Karonf.java | 92 ++ .../data/scripts/ai/individual/Luderic.java | 75 + .../game/data/scripts/ai/individual/Lumi.java | 71 + .../data/scripts/ai/individual/Mahram.java | 4 +- .../individual/Mai.java} | 49 +- .../scripts/ai/individual/MarinSmith.java | 64 + .../data/scripts/ai/individual/Orfen.java | 6 +- .../ai/{npc/Oris => individual}/Oris.java | 24 +- .../scripts/ai/individual/QueenShyeed.java | 4 +- .../data/scripts/ai/individual/Shannon.java | 4 +- .../data/scripts/ai/individual/SinEater.java | 4 +- .../scripts/ai/individual/SinWardens.java | 4 +- .../data/scripts/ai/individual/Sodian.java | 70 + .../data/scripts/ai/individual/Stiller.java | 70 + .../data/scripts/ai/individual/Theodore.java | 4 +- .../scripts/ai/individual/TomaJunior.java | 71 + .../individual/TrainingGolem.java} | 35 +- .../scripts/ai/individual/Venom/Venom.java | 8 +- .../data/scripts/ai/npc/AbstractNpcAI.java | 11 +- .../AdventurersGuide/AdventurersGuide.java | 2 +- .../game/data/scripts/ai/npc/Alarm/Alarm.java | 12 +- .../scripts/ai/npc/Apprentice/Apprentice.java | 6 +- .../CastleTeleporter/CastleTeleporter.java | 4 +- .../data/scripts/ai/npc/Dorian/Dorian.java | 71 - .../scripts/ai/npc/ForgeOfTheGods/Rooney.java | 12 +- .../scripts/ai/npc/FreyasSteward/32029.html | 7 +- .../data/scripts/ai/npc/Jinia/32781-01.html | 4 +- .../data/scripts/ai/npc/Jinia/32781-06.html | 2 +- .../data/scripts/ai/npc/Jinia/32781-07.html | 2 +- .../data/scripts/ai/npc/Jinia/32781-10.html | 3 +- .../data/scripts/ai/npc/Jinia/32781-11.html | 2 +- .../game/data/scripts/ai/npc/Jinia/Jinia.java | 12 +- .../ai/npc/LaVieEnRose/LaVieEnRose.java | 29 +- .../data/scripts/ai/npc/Mammons/Mammons.java | 4 +- .../game/data/scripts/ai/npc/Milia/Milia.java | 6 +- .../scripts/ai/npc/Minigame/Minigame.java | 18 +- .../scripts/ai/npc/Pantheon/Pantheon.java | 4 +- .../scripts/ai/npc/Proclaimer/Proclaimer.java | 4 +- .../game/data/scripts/ai/npc/Raina/Raina.java | 22 +- .../data/scripts/ai/npc/Sirra/32762-easy.html | 2 +- .../scripts/ai/npc/Sirra/32762-easyfight.html | 2 +- .../data/scripts/ai/npc/Sirra/32762-hard.html | 2 +- .../scripts/ai/npc/Sirra/32762-hardfight.html | 2 +- .../TeleportToFantasy/TeleportToFantasy.java | 4 +- .../TeleportToRaceTrack.java | 4 +- .../data/scripts/ai/npc/Trandon/Trandon.java | 7 - .../scripts/ai/npc/WeaverOlf/WeaverOlf.java | 4 +- .../DevastatedCastle/DevastatedCastle.java | 8 +- .../FortressOfTheDead/FortressOfTheDead.java | 12 +- .../RainbowSpringsChateau.java | 6 +- .../custom/FactionManager/FactionManager.java | 4 +- .../scripts/custom/NewbieCoupons/30598-1.htm | 3 - .../scripts/custom/NewbieCoupons/30598-2.htm | 4 - .../scripts/custom/NewbieCoupons/30598-3.htm | 3 - .../scripts/custom/NewbieCoupons/30598-4.htm | 3 - .../scripts/custom/NewbieCoupons/30598-5.htm | 4 - .../scripts/custom/NewbieCoupons/30598-6.htm | 3 - .../scripts/custom/NewbieCoupons/30598-7.htm | 3 - .../scripts/custom/NewbieCoupons/30598-8.htm | 3 - .../scripts/custom/NewbieCoupons/30598.htm | 9 - .../custom/NewbieCoupons/NewbieCoupons.java | 164 --- .../custom/NpcLocationInfo/30598-1.htm | 5 - .../custom/NpcLocationInfo/30598-2.htm | 12 - .../custom/NpcLocationInfo/30598-3.htm | 5 - .../custom/NpcLocationInfo/30598-4.htm | 6 - .../custom/NpcLocationInfo/30598-5.htm | 6 - .../custom/NpcLocationInfo/30598-6.htm | 9 - .../custom/NpcLocationInfo/30598-7.htm | 8 - .../custom/NpcLocationInfo/30598-8.htm | 7 - .../custom/NpcLocationInfo/30598-9.htm | 13 - .../scripts/custom/NpcLocationInfo/30598.htm | 12 - .../custom/NpcLocationInfo/30599-1.htm | 5 - .../custom/NpcLocationInfo/30599-2.htm | 12 - .../custom/NpcLocationInfo/30599-3.htm | 5 - .../custom/NpcLocationInfo/30599-4.htm | 6 - .../custom/NpcLocationInfo/30599-5.htm | 6 - .../custom/NpcLocationInfo/30599-6.htm | 9 - .../custom/NpcLocationInfo/30599-7.htm | 7 - .../custom/NpcLocationInfo/30599-8.htm | 12 - .../scripts/custom/NpcLocationInfo/30599.htm | 11 - .../custom/NpcLocationInfo/30600-1.htm | 5 - .../custom/NpcLocationInfo/30600-2.htm | 16 - .../custom/NpcLocationInfo/30600-3.htm | 5 - .../custom/NpcLocationInfo/30600-4.htm | 6 - .../custom/NpcLocationInfo/30600-5.htm | 6 - .../custom/NpcLocationInfo/30600-6.htm | 12 - .../custom/NpcLocationInfo/30600-7.htm | 7 - .../custom/NpcLocationInfo/30600-8.htm | 10 - .../scripts/custom/NpcLocationInfo/30600.htm | 11 - .../custom/NpcLocationInfo/30601-1.htm | 5 - .../custom/NpcLocationInfo/30601-2.htm | 12 - .../custom/NpcLocationInfo/30601-3.htm | 10 - .../custom/NpcLocationInfo/30601-4.htm | 7 - .../custom/NpcLocationInfo/30601-5.htm | 6 - .../custom/NpcLocationInfo/30601-6.htm | 6 - .../custom/NpcLocationInfo/30601-7.htm | 7 - .../custom/NpcLocationInfo/30601-8.htm | 15 - .../scripts/custom/NpcLocationInfo/30601.htm | 11 - .../custom/NpcLocationInfo/30602-1.htm | 5 - .../custom/NpcLocationInfo/30602-2.htm | 12 - .../custom/NpcLocationInfo/30602-3.htm | 6 - .../custom/NpcLocationInfo/30602-4.htm | 6 - .../custom/NpcLocationInfo/30602-5.htm | 5 - .../custom/NpcLocationInfo/30602-6.htm | 6 - .../custom/NpcLocationInfo/30602-7.htm | 6 - .../custom/NpcLocationInfo/30602-8.htm | 6 - .../custom/NpcLocationInfo/30602-9.htm | 10 - .../scripts/custom/NpcLocationInfo/30602.htm | 12 - .../custom/NpcLocationInfo/32135-1.htm | 5 - .../custom/NpcLocationInfo/32135-10.htm | 7 - .../custom/NpcLocationInfo/32135-11.htm | 7 - .../custom/NpcLocationInfo/32135-12.htm | 5 - .../custom/NpcLocationInfo/32135-2.htm | 12 - .../custom/NpcLocationInfo/32135-3.htm | 6 - .../custom/NpcLocationInfo/32135-4.htm | 7 - .../custom/NpcLocationInfo/32135-5.htm | 13 - .../custom/NpcLocationInfo/32135-6.htm | 7 - .../custom/NpcLocationInfo/32135-7.htm | 8 - .../custom/NpcLocationInfo/32135-8.htm | 7 - .../custom/NpcLocationInfo/32135-9.htm | 7 - .../scripts/custom/NpcLocationInfo/32135.htm | 15 - .../custom/NpcLocationInfo/MoveToLoc.htm | 3 - .../NpcLocationInfo/NpcLocationInfo.java | 317 ---- .../custom/RaidbossInfo/RaidbossInfo.java | 105 -- .../data/scripts/custom/RaidbossInfo/info.htm | 9 - .../scripts/custom/RaidbossInfo/level20.htm | 26 - .../scripts/custom/RaidbossInfo/level30.htm | 35 - .../scripts/custom/RaidbossInfo/level40.htm | 35 - .../scripts/custom/RaidbossInfo/level50.htm | 35 - .../scripts/custom/RaidbossInfo/level60.htm | 23 - .../scripts/custom/RaidbossInfo/level70.htm | 33 - .../scripts/custom/RaidbossInfo/level80.htm | 23 - .../data/scripts/custom/events/Race/Race.java | 3 +- .../FreyaCelebration/FreyaCelebration.java | 6 +- .../data/scripts/gracia/AI/EnergySeeds.java | 46 - .../game/data/scripts/gracia/AI/Lindvior.java | 8 +- .../AI/NPC/GeneralDilios/GeneralDilios.java | 6 +- .../data/scripts/gracia/AI/NPC/Seyo/Seyo.java | 20 +- .../gracia/vehicles/AirShipController.java | 4 +- .../AirShipGludioGracia.java | 6 +- .../admincommandhandlers/AdminAdmin.java | 4 +- .../admincommandhandlers/AdminEffects.java | 6 +- .../admincommandhandlers/AdminGmChat.java | 4 +- .../admincommandhandlers/AdminTargetSay.java | 4 +- .../handlers/chathandlers/ChatAll.java | 75 +- .../handlers/chathandlers/ChatAlliance.java | 44 +- .../handlers/chathandlers/ChatClan.java | 43 +- .../handlers/chathandlers/ChatHeroVoice.java | 75 +- .../handlers/chathandlers/ChatParty.java | 43 +- .../chathandlers/ChatPartyMatchRoom.java | 33 +- .../chathandlers/ChatPartyRoomAll.java | 30 +- .../chathandlers/ChatPartyRoomCommander.java | 30 +- .../handlers/chathandlers/ChatPetition.java | 29 +- .../handlers/chathandlers/ChatShout.java | 33 +- .../handlers/chathandlers/ChatTell.java | 43 +- .../handlers/chathandlers/ChatTrade.java | 31 +- .../handlers/chathandlers/ChatWorld.java | 59 +- .../handlers/effecthandlers/ClassChange.java | 3 +- .../handlers/telnethandlers/ChatsHandler.java | 6 +- .../handlers/telnethandlers/DebugHandler.java | 2 + .../data/scripts/hellbound/AI/Amaskari.java | 18 +- .../data/scripts/hellbound/AI/Keltas.java | 6 +- .../hellbound/AI/NPC/Deltuva/Deltuva.java | 7 - .../hellbound/AI/NPC/Natives/Natives.java | 6 +- .../hellbound/AI/NPC/Quarry/Quarry.java | 6 +- .../game/data/scripts/hellbound/AI/Ranku.java | 4 +- .../data/scripts/hellbound/AI/Slaves.java | 6 +- .../AI/Zones/AnomicFoundry/AnomicFoundry.java | 6 +- .../AI/Zones/TowerOfNaia/TowerOfNaia.java | 6 +- .../AI/Zones/TullyWorkshop/TullyWorkshop.java | 26 +- .../Instances/UrbanArea/UrbanArea.java | 16 +- .../scripts/instances/AbstractInstance.java | 2 + .../instances/ChambersOfDelusion/Chamber.java | 4 +- .../CrystalCaverns/CrystalCaverns.java | 9 +- .../DarkCloudMansion/DarkCloudMansion.java | 12 +- .../DisciplesNecropolisPast.java | 36 +- .../HarnakUndergroundRuins.java | 60 +- .../IceQueensCastle/IceQueensCastle.java | 6 +- .../18851-01.html | 0 .../18851.html | 4 +- .../IceQueensCastleBattle.java} | 270 +++- .../IceQueensCastleHardBattle.java | 1293 ----------------- .../IceQueensCastleNormalBattle/18851-01.html | 3 - .../IceQueensCastleNormalBattle/18851.html | 6 - .../scripts/instances/InstanceLoader.java | 6 +- .../LibraryOfSages/LibraryOfSages.java | 4 +- .../instances/MithrilMine/MithrilMine.java | 6 +- .../MonasteryOfSilence1.java | 6 +- .../MonasteryOfSilence2.java | 13 +- .../PailakaSongOfIceAndFire.java | 4 +- .../SanctumOftheLordsOfDawn.java | 8 +- .../31256-01.html | 5 - .../31256-02.html | 4 - .../31256-03.html | 3 - .../31296-01.htm | 4 - .../31296-02.html | 4 - .../31296-03.html | 3 - .../31296-04.html | 3 - .../31371-01.html | 4 - .../31371-02.html | 4 - .../31371-03.html | 3 - .../Q00011_SecretMeetingWithKetraOrcs.java | 133 -- .../31258-01.html | 6 - .../31258-02.html | 3 - .../31258-03.html | 3 - .../31296-01.htm | 4 - .../31296-02.html | 4 - .../31296-03.html | 3 - .../31296-04.html | 3 - .../31378-01.html | 4 - .../31378-02.html | 4 - .../31378-03.html | 3 - .../Q00012_SecretMeetingWithVarkaSilenos.java | 133 -- .../31263-00.htm | 5 - .../31263-01.html | 5 - .../31263-02.html | 3 - .../31538-00.html | 5 - .../31538-01.html | 4 - .../31538-02.html | 3 - .../Q00014_WhereaboutsOfTheArchaeologist.java | 119 -- .../31314-01.htm | 4 - .../31314-02.html | 4 - .../31314-03.html | 3 - .../31314-04.html | 3 - .../31315-01.html | 4 - .../31315-02.html | 4 - .../31315-03.html | 3 - .../31555-01.html | 4 - .../31555-02.html | 3 - .../Q00018_MeetingWithTheGoldenRam.java | 126 -- .../quests/Q00021_HiddenTruth/31328-01.html | 4 - .../quests/Q00021_HiddenTruth/31328-02.html | 4 - .../quests/Q00021_HiddenTruth/31328-03.html | 6 - .../quests/Q00021_HiddenTruth/31328-04.html | 6 - .../quests/Q00021_HiddenTruth/31328-05.html | 5 - .../quests/Q00021_HiddenTruth/31328-06.html | 4 - .../quests/Q00021_HiddenTruth/31348-01.html | 3 - .../quests/Q00021_HiddenTruth/31348-02.html | 3 - .../quests/Q00021_HiddenTruth/31348-03.html | 3 - .../quests/Q00021_HiddenTruth/31349-01.html | 3 - .../quests/Q00021_HiddenTruth/31349-02.html | 3 - .../quests/Q00021_HiddenTruth/31349-03.html | 3 - .../quests/Q00021_HiddenTruth/31350-01.html | 3 - .../quests/Q00021_HiddenTruth/31350-02.html | 3 - .../quests/Q00021_HiddenTruth/31350-03.html | 3 - .../quests/Q00021_HiddenTruth/31522-01.htm | 6 - .../quests/Q00021_HiddenTruth/31522-02.htm | 4 - .../quests/Q00021_HiddenTruth/31522-03.htm | 4 - .../quests/Q00021_HiddenTruth/31522-04.html | 4 - .../quests/Q00021_HiddenTruth/31522-05.html | 3 - .../quests/Q00021_HiddenTruth/31523-01.html | 4 - .../quests/Q00021_HiddenTruth/31523-02.html | 4 - .../quests/Q00021_HiddenTruth/31523-03.html | 3 - .../quests/Q00021_HiddenTruth/31523-04.html | 3 - .../quests/Q00021_HiddenTruth/31524-01.html | 4 - .../quests/Q00021_HiddenTruth/31524-02.html | 5 - .../quests/Q00021_HiddenTruth/31524-03.html | 4 - .../quests/Q00021_HiddenTruth/31524-04.html | 4 - .../quests/Q00021_HiddenTruth/31524-05.html | 4 - .../quests/Q00021_HiddenTruth/31524-06.html | 3 - .../quests/Q00021_HiddenTruth/31524-06a.html | 4 - .../quests/Q00021_HiddenTruth/31524-07.html | 3 - .../quests/Q00021_HiddenTruth/31524-07a.html | 4 - .../quests/Q00021_HiddenTruth/31524-07b.html | 3 - .../quests/Q00021_HiddenTruth/31524-07c.html | 4 - .../quests/Q00021_HiddenTruth/31525-01.html | 3 - .../quests/Q00021_HiddenTruth/31525-02.html | 3 - .../quests/Q00021_HiddenTruth/31526-01.html | 5 - .../quests/Q00021_HiddenTruth/31526-02.html | 4 - .../quests/Q00021_HiddenTruth/31526-03.html | 4 - .../quests/Q00021_HiddenTruth/31526-04.html | 5 - .../quests/Q00021_HiddenTruth/31526-05.html | 7 - .../quests/Q00021_HiddenTruth/31526-06.html | 5 - .../quests/Q00021_HiddenTruth/31526-07.html | 6 - .../quests/Q00021_HiddenTruth/31526-08.html | 4 - .../quests/Q00021_HiddenTruth/31526-09.html | 4 - .../quests/Q00021_HiddenTruth/31526-10.html | 4 - .../quests/Q00021_HiddenTruth/31526-11.html | 4 - .../quests/Q00021_HiddenTruth/31526-12.html | 5 - .../quests/Q00021_HiddenTruth/31526-13.html | 5 - .../quests/Q00021_HiddenTruth/31526-14.html | 5 - .../quests/Q00021_HiddenTruth/31526-15.html | 5 - .../Q00021_HiddenTruth.java | 456 ------ .../quests/Q00023_LidiasHeart/31328-01.htm | 4 - .../quests/Q00023_LidiasHeart/31328-01a.html | 6 - .../quests/Q00023_LidiasHeart/31328-02.htm | 4 - .../quests/Q00023_LidiasHeart/31328-03.htm | 4 - .../quests/Q00023_LidiasHeart/31328-04.html | 4 - .../quests/Q00023_LidiasHeart/31328-05.html | 4 - .../quests/Q00023_LidiasHeart/31328-06.html | 6 - .../quests/Q00023_LidiasHeart/31328-07.html | 5 - .../quests/Q00023_LidiasHeart/31328-08.html | 3 - .../quests/Q00023_LidiasHeart/31328-09.html | 4 - .../quests/Q00023_LidiasHeart/31328-10.html | 6 - .../quests/Q00023_LidiasHeart/31328-11.html | 5 - .../quests/Q00023_LidiasHeart/31328-12.html | 3 - .../quests/Q00023_LidiasHeart/31328-13.html | 5 - .../quests/Q00023_LidiasHeart/31328-14.html | 5 - .../quests/Q00023_LidiasHeart/31328-15.html | 5 - .../quests/Q00023_LidiasHeart/31328-16.html | 7 - .../quests/Q00023_LidiasHeart/31328-17.html | 5 - .../quests/Q00023_LidiasHeart/31328-18.html | 8 - .../quests/Q00023_LidiasHeart/31328-19.html | 5 - .../quests/Q00023_LidiasHeart/31328-20.html | 6 - .../quests/Q00023_LidiasHeart/31328-21.html | 3 - .../quests/Q00023_LidiasHeart/31328-22.html | 3 - .../quests/Q00023_LidiasHeart/31386-01.html | 6 - .../quests/Q00023_LidiasHeart/31386-02.html | 5 - .../quests/Q00023_LidiasHeart/31386-03.html | 5 - .../quests/Q00023_LidiasHeart/31386-04.html | 4 - .../quests/Q00023_LidiasHeart/31523-01.html | 4 - .../quests/Q00023_LidiasHeart/31523-02.html | 3 - .../quests/Q00023_LidiasHeart/31523-03.html | 3 - .../quests/Q00023_LidiasHeart/31523-04.html | 5 - .../quests/Q00023_LidiasHeart/31523-05.html | 4 - .../quests/Q00023_LidiasHeart/31523-06.html | 3 - .../quests/Q00023_LidiasHeart/31524-01.html | 4 - .../quests/Q00023_LidiasHeart/31524-02.html | 4 - .../quests/Q00023_LidiasHeart/31524-03.html | 4 - .../quests/Q00023_LidiasHeart/31524-04.html | 5 - .../quests/Q00023_LidiasHeart/31524-05.html | 4 - .../quests/Q00023_LidiasHeart/31524-06.html | 3 - .../quests/Q00023_LidiasHeart/31526-01.html | 4 - .../quests/Q00023_LidiasHeart/31526-02.html | 6 - .../quests/Q00023_LidiasHeart/31526-03.html | 5 - .../quests/Q00023_LidiasHeart/31526-04.html | 4 - .../quests/Q00023_LidiasHeart/31526-05.html | 6 - .../quests/Q00023_LidiasHeart/31526-06.html | 4 - .../quests/Q00023_LidiasHeart/31526-07.html | 4 - .../quests/Q00023_LidiasHeart/31526-07a.html | 4 - .../quests/Q00023_LidiasHeart/31526-08.html | 5 - .../quests/Q00023_LidiasHeart/31526-09.html | 6 - .../quests/Q00023_LidiasHeart/31526-10.html | 4 - .../quests/Q00023_LidiasHeart/31526-11.html | 4 - .../quests/Q00023_LidiasHeart/31526-12.html | 4 - .../quests/Q00023_LidiasHeart/31526-13.html | 3 - .../quests/Q00023_LidiasHeart/31530-01.html | 4 - .../quests/Q00023_LidiasHeart/31530-02.html | 3 - .../quests/Q00023_LidiasHeart/31530-03.html | 3 - .../Q00023_LidiasHeart.java | 509 ------- .../31389-01.htm | 5 - .../31389-02.htm | 5 - .../31389-03.htm | 3 - .../31389-04.html | 3 - .../31389-05.html | 6 - .../31389-06.html | 5 - .../31389-07.html | 5 - .../31389-08.html | 4 - .../31389-09.html | 4 - .../31389-10.html | 4 - .../31389-11.html | 5 - .../31389-12.html | 6 - .../31389-13.html | 4 - .../31389-14.html | 3 - .../31389-15.html | 5 - .../31389-16.html | 4 - .../31389-17.html | 5 - .../31389-18.html | 6 - .../31389-19.html | 5 - .../31389-20.html | 5 - .../31389-21.html | 3 - .../31389-22.html | 5 - .../31522-01.html | 4 - .../31522-02.html | 4 - .../31522-03.html | 4 - .../31522-04.html | 4 - .../31522-05.html | 4 - .../31522-06.html | 4 - .../31522-07.html | 6 - .../31522-08.html | 5 - .../31522-09.html | 4 - .../31522-10.html | 5 - .../31522-11.html | 4 - .../31522-12.html | 4 - .../31522-13.html | 4 - .../31522-14.html | 4 - .../31522-15.html | 4 - .../31522-16.html | 4 - .../31522-17.html | 4 - .../31522-18.html | 4 - .../31522-19.html | 5 - .../31522-20.html | 4 - .../31522-21.html | 4 - .../31522-22.html | 3 - .../31531-01.html | 4 - .../31531-02.html | 3 - .../31531-03.html | 5 - .../31532-01.html | 4 - .../31532-02.html | 4 - .../31532-03.html | 4 - .../31532-04.html | 3 - .../31532-05.html | 5 - .../31532-06.html | 5 - .../31532-07.html | 3 - .../31532-07a.html | 4 - .../31532-08.html | 4 - .../31532-09.html | 4 - .../31532-10.html | 7 - .../31532-11.html | 7 - .../31532-12.html | 3 - .../31532-13.html | 3 - .../31532-14.html | 4 - .../31532-15.html | 5 - .../31532-16.html | 4 - .../31532-17.html | 4 - .../31532-18.html | 5 - .../31532-19.html | 4 - .../31532-20.html | 4 - ...00024_InhabitantsOfTheForestOfTheDead.java | 350 ----- .../31434-00.htm | 5 - .../31434-01.htm | 3 - .../31434-02.htm | 3 - .../31570-01.htm | 5 - .../31570-02.htm | 4 - .../31570-03.htm | 4 - .../31570-04.htm | 4 - .../31570-05.htm | 3 - .../31570-06.htm | 3 - .../31570-07.htm | 3 - .../Q00027_ChestCaughtWithABaitOfWind.java | 145 -- .../31442-01.htm | 5 - .../31442-02.htm | 6 - .../31442-03.htm | 4 - .../31572-01.htm | 7 - .../31572-02.htm | 4 - .../31572-03.htm | 6 - .../31572-04.htm | 4 - .../31572-05.htm | 4 - .../31572-06.htm | 3 - .../31572-07.htm | 4 - .../31572-08.htm | 6 - .../31572-09.htm | 4 - .../Q00028_ChestCaughtWithABaitOfIcyAir.java | 145 -- .../30909-01.htm | 5 - .../30909-02.htm | 4 - .../30909-03.htm | 3 - .../31574-01.htm | 6 - .../31574-02.htm | 4 - .../31574-04.htm | 4 - .../31574-05.htm | 4 - .../31574-06.htm | 3 - .../31574-07.htm | 4 - .../31574-08.htm | 3 - .../31574-09.htm | 4 - .../Q00029_ChestCaughtWithABaitOfEarth.java | 145 -- .../30629-01.htm | 5 - .../30629-02.htm | 3 - .../30629-03.htm | 5 - .../31577-00.htm | 4 - .../31577-01.htm | 4 - .../31577-02.htm | 5 - .../31577-03.htm | 4 - .../31577-03a.htm | 3 - .../31577-04.htm | 3 - .../31577-04a.htm | 3 - .../31577-05.htm | 3 - .../Q00030_ChestCaughtWithABaitOfFire.java | 138 -- .../Q00050_LanoscosSpecialBait/31570-01.htm | 5 - .../Q00050_LanoscosSpecialBait/31570-02.html | 5 - .../Q00050_LanoscosSpecialBait/31570-03.htm | 4 - .../Q00050_LanoscosSpecialBait/31570-04.html | 5 - .../Q00050_LanoscosSpecialBait/31570-05.html | 3 - .../Q00050_LanoscosSpecialBait/31570-06.htm | 4 - .../Q00050_LanoscosSpecialBait/31570-07.html | 3 - .../Q00050_LanoscosSpecialBait.java | 134 -- .../Q00051_OFullesSpecialBait/31572-01.htm | 5 - .../Q00051_OFullesSpecialBait/31572-02.html | 4 - .../Q00051_OFullesSpecialBait/31572-03.htm | 4 - .../Q00051_OFullesSpecialBait/31572-04.html | 4 - .../Q00051_OFullesSpecialBait/31572-05.html | 3 - .../Q00051_OFullesSpecialBait/31572-06.htm | 4 - .../Q00051_OFullesSpecialBait/31572-07.html | 3 - .../Q00051_OFullesSpecialBait.java | 130 -- .../Q00052_WilliesSpecialBait/31574-01.htm | 5 - .../Q00052_WilliesSpecialBait/31574-02.html | 4 - .../Q00052_WilliesSpecialBait/31574-03.htm | 4 - .../Q00052_WilliesSpecialBait/31574-04.html | 4 - .../Q00052_WilliesSpecialBait/31574-05.html | 3 - .../Q00052_WilliesSpecialBait/31574-06.htm | 5 - .../Q00052_WilliesSpecialBait/31574-07.html | 3 - .../Q00052_WilliesSpecialBait.java | 130 -- .../Q00114_ResurrectionOfAnOldManager.java | 8 +- .../Q00132_MatrasCuriosity/32245-01.htm | 5 - .../Q00132_MatrasCuriosity/32245-02.htm | 4 - .../Q00132_MatrasCuriosity/32245-03.htm | 4 - .../Q00132_MatrasCuriosity/32245-03a.htm | 3 - .../Q00132_MatrasCuriosity/32245-04.htm | 3 - .../Q00132_MatrasCuriosity/32245-05.htm | 4 - .../Q00132_MatrasCuriosity/32245-06.htm | 4 - .../Q00132_MatrasCuriosity/32245-07.htm | 3 - .../Q00132_MatrasCuriosity.java | 184 --- ...Q00147_PathtoBecominganEliteMercenary.java | 125 -- .../castle.htm | 4 - .../elite-01.htm | 4 - .../elite-02.htm | 5 - .../elite-02a.htm | 4 - .../elite-03.htm | 6 - .../elite-04.htm | 4 - .../elite-05.htm | 3 - .../elite-06.htm | 3 - ...0148_PathtoBecominganExaltedMercenary.java | 134 -- .../castle.htm | 4 - .../exalted-00.htm | 3 - .../exalted-00a.htm | 4 - .../exalted-00b.htm | 4 - .../exalted-01.htm | 4 - .../exalted-02.htm | 6 - .../exalted-03.htm | 4 - .../exalted-04.htm | 3 - .../exalted-05.htm | 3 - .../quests/Q00176_StepsForHonor/36479-01.html | 3 - .../quests/Q00176_StepsForHonor/36479-02.html | 4 - .../quests/Q00176_StepsForHonor/36479-03.html | 4 - .../quests/Q00176_StepsForHonor/36479-04.html | 4 - .../quests/Q00176_StepsForHonor/36479-05.html | 3 - .../quests/Q00176_StepsForHonor/36479-06.html | 3 - .../quests/Q00176_StepsForHonor/36479-07.html | 4 - .../quests/Q00176_StepsForHonor/36479-08.html | 3 - .../quests/Q00176_StepsForHonor/36479-09.html | 4 - .../quests/Q00176_StepsForHonor/36479-10.html | 3 - .../quests/Q00176_StepsForHonor/36479-11.html | 4 - .../quests/Q00176_StepsForHonor/36479-12.html | 3 - .../quests/Q00176_StepsForHonor/36479-13.html | 3 - .../Q00176_StepsForHonor.java | 114 -- .../Q00177_SplitDestiny.java | 3 +- .../Q00193_SevenSignsDyingMessage.java | 12 +- .../Q00196_SevenSignsSealOfTheEmperor.java | 6 +- .../Q00197_SevenSignsTheSacredBookOfSeal.java | 10 +- .../Q00198_SevenSignsEmbryo.java | 14 +- .../30196-00.htm | 4 - .../30196-01.htm | 4 - .../30196-02.htm | 5 - .../30196-03.htm | 3 - .../30196-04.htm | 3 - .../30196-05.htm | 4 - .../32744-01.htm | 4 - .../32744-02.htm | 4 - .../32744-03.htm | 3 - .../32744-04.htm | 4 - .../Q00249_PoisonedPlainsOfTheLizardmen.java | 112 -- .../Q00250_WatchWhatYouEat/32743-00.htm | 4 - .../Q00250_WatchWhatYouEat/32743-01.htm | 4 - .../Q00250_WatchWhatYouEat/32743-02.htm | 5 - .../Q00250_WatchWhatYouEat/32743-03.htm | 3 - .../Q00250_WatchWhatYouEat/32743-04.htm | 3 - .../Q00250_WatchWhatYouEat/32743-05.htm | 4 - .../Q00250_WatchWhatYouEat/32743-06.htm | 8 - .../Q00250_WatchWhatYouEat/32743-07.htm | 7 - .../Q00250_WatchWhatYouEat/32743-08.htm | 7 - .../Q00250_WatchWhatYouEat/32743-09.htm | 7 - .../Q00250_WatchWhatYouEat/32743-20.html | 6 - .../Q00250_WatchWhatYouEat/32743-21.html | 6 - .../Q00250_WatchWhatYouEat/32743-22.html | 6 - .../Q00250_WatchWhatYouEat/32743-23.html | 8 - .../Q00250_WatchWhatYouEat/32743-24.html | 8 - .../Q00250_WatchWhatYouEat/32743-25.html | 8 - .../Q00250_WatchWhatYouEat/32743-26.html | 8 - .../Q00250_WatchWhatYouEat/32743-27.html | 8 - .../Q00250_WatchWhatYouEat/32743-done.htm | 4 - .../Q00250_WatchWhatYouEat/32743-end.htm | 3 - .../Q00250_WatchWhatYouEat.java | 183 --- .../quests/Q00251_NoSecrets/30201-00.htm | 4 - .../quests/Q00251_NoSecrets/30201-01.htm | 4 - .../quests/Q00251_NoSecrets/30201-02.htm | 4 - .../quests/Q00251_NoSecrets/30201-03.htm | 4 - .../quests/Q00251_NoSecrets/30201-04.htm | 3 - .../quests/Q00251_NoSecrets/30201-05.htm | 3 - .../quests/Q00251_NoSecrets/30201-06.htm | 4 - .../Q00251_NoSecrets/Q00251_NoSecrets.java | 151 -- .../Q00252_ItSmellsDelicious/30200-01.htm | 5 - .../Q00252_ItSmellsDelicious/30200-02.htm | 4 - .../Q00252_ItSmellsDelicious/30200-03.html | 4 - .../Q00252_ItSmellsDelicious/30200-04.htm | 5 - .../Q00252_ItSmellsDelicious/30200-05.htm | 5 - .../Q00252_ItSmellsDelicious/30200-06.html | 3 - .../Q00252_ItSmellsDelicious/30200-07.html | 6 - .../Q00252_ItSmellsDelicious/30200-08.html | 7 - .../Q00252_ItSmellsDelicious.java | 179 --- .../quests/Q00287_FiguringItOut/32742-01.htm | 5 - .../quests/Q00287_FiguringItOut/32742-02.htm | 4 - .../quests/Q00287_FiguringItOut/32742-03.htm | 3 - .../quests/Q00287_FiguringItOut/32742-04.html | 3 - .../quests/Q00287_FiguringItOut/32742-05.html | 7 - .../quests/Q00287_FiguringItOut/32742-06.html | 5 - .../quests/Q00287_FiguringItOut/32742-07.html | 3 - .../quests/Q00287_FiguringItOut/32742-08.html | 5 - .../quests/Q00287_FiguringItOut/32742-09.html | 3 - .../quests/Q00287_FiguringItOut/32742-10.html | 3 - .../quests/Q00287_FiguringItOut/32742-11.html | 5 - .../quests/Q00287_FiguringItOut/32742-12.html | 3 - .../quests/Q00287_FiguringItOut/32742-13.html | 3 - .../quests/Q00287_FiguringItOut/32742-14.htm | 4 - .../Q00287_FiguringItOut.java | 204 --- .../Q00288_HandleWithCare/32741-01.html | 4 - .../quests/Q00288_HandleWithCare/32741-02.htm | 4 - .../quests/Q00288_HandleWithCare/32741-03.htm | 6 - .../Q00288_HandleWithCare/32741-04.html | 3 - .../Q00288_HandleWithCare/32741-05.html | 3 - .../Q00288_HandleWithCare/32741-06.html | 4 - .../Q00288_HandleWithCare/32741-07.html | 4 - .../Q00288_HandleWithCare/32741-08.html | 3 - .../Q00288_HandleWithCare.java | 220 --- .../Q00289_NoMoreSoupForYou/30200-00.htm | 1 - .../Q00289_NoMoreSoupForYou/30200-01.htm | 3 - .../Q00289_NoMoreSoupForYou/30200-02.htm | 3 - .../Q00289_NoMoreSoupForYou/30200-03.htm | 4 - .../Q00289_NoMoreSoupForYou/30200-04.htm | 5 - .../Q00289_NoMoreSoupForYou/30200-07.htm | 3 - .../Q00289_NoMoreSoupForYou.java | 264 ---- .../quests/Q00290_ThreatRemoval/30201-01.htm | 4 - .../quests/Q00290_ThreatRemoval/30201-02.html | 3 - .../quests/Q00290_ThreatRemoval/30201-03.html | 4 - .../quests/Q00290_ThreatRemoval/30201-04.html | 3 - .../quests/Q00290_ThreatRemoval/30201-05.html | 4 - .../quests/Q00290_ThreatRemoval/30201-06.html | 5 - .../quests/Q00290_ThreatRemoval/30201-07.html | 3 - .../quests/Q00290_ThreatRemoval/30201-08.html | 5 - .../quests/Q00290_ThreatRemoval/30201-09.html | 3 - .../quests/Q00290_ThreatRemoval/30201-10.html | 3 - .../Q00290_ThreatRemoval.java | 226 --- .../30063-01.html | 5 - .../30063-02.html | 3 - .../30063-03.html | 3 - .../30466-01.html | 4 - .../30466-02.html | 4 - .../30466-03.html | 3 - .../30620-01.htm | 5 - .../30620-02.htm | 4 - .../30620-03.htm | 4 - .../30620-04.html | 4 - .../30620-05.html | 3 - .../30620-06.html | 3 - .../30620-07.html | 3 - .../30620-08.html | 3 - .../30620-09.html | 4 - .../30620-10.html | 4 - .../30620-11.html | 3 - .../30620-12.html | 3 - .../30620-13.html | 4 - .../30620-14.html | 4 - .../30620-15.html | 3 - .../Q00299_GatherIngredientsForPie.java | 284 ---- .../Q00308_ReedFieldMaintenance/32646-00.html | 4 - .../Q00308_ReedFieldMaintenance/32646-01.htm | 4 - .../Q00308_ReedFieldMaintenance/32646-02.htm | 5 - .../Q00308_ReedFieldMaintenance/32646-03.htm | 5 - .../Q00308_ReedFieldMaintenance/32646-04.html | 7 - .../Q00308_ReedFieldMaintenance/32646-05.html | 4 - .../Q00308_ReedFieldMaintenance/32646-06.html | 7 - .../Q00308_ReedFieldMaintenance/32646-07.html | 5 - .../Q00308_ReedFieldMaintenance/32646-08.html | 11 - .../Q00308_ReedFieldMaintenance/32646-09.html | 11 - .../Q00308_ReedFieldMaintenance/32646-10.html | 5 - .../Q00308_ReedFieldMaintenance/32646-11.html | 3 - .../Q00308_ReedFieldMaintenance/32646-12.html | 6 - .../Q00308_ReedFieldMaintenance/32646-13.html | 6 - .../Q00308_ReedFieldMaintenance/32646-14.html | 6 - .../Q00308_ReedFieldMaintenance/32646-15.html | 4 - .../Q00308_ReedFieldMaintenance.java | 263 ---- .../quests/Q00309_ForAGoodCause/32647-00.html | 4 - .../quests/Q00309_ForAGoodCause/32647-01.htm | 5 - .../quests/Q00309_ForAGoodCause/32647-02.htm | 5 - .../quests/Q00309_ForAGoodCause/32647-03.htm | 6 - .../quests/Q00309_ForAGoodCause/32647-04.htm | 4 - .../quests/Q00309_ForAGoodCause/32647-05.html | 5 - .../quests/Q00309_ForAGoodCause/32647-06.html | 4 - .../quests/Q00309_ForAGoodCause/32647-07.html | 4 - .../quests/Q00309_ForAGoodCause/32647-08.html | 6 - .../quests/Q00309_ForAGoodCause/32647-09.html | 6 - .../quests/Q00309_ForAGoodCause/32647-10.html | 12 - .../quests/Q00309_ForAGoodCause/32647-11.html | 12 - .../quests/Q00309_ForAGoodCause/32647-12.html | 4 - .../quests/Q00309_ForAGoodCause/32647-13.html | 5 - .../quests/Q00309_ForAGoodCause/32647-14.html | 3 - .../quests/Q00309_ForAGoodCause/32647-15.html | 6 - .../quests/Q00309_ForAGoodCause/32647-16.html | 5 - .../quests/Q00309_ForAGoodCause/32647-17.html | 4 - .../Q00309_ForAGoodCause.java | 266 ---- .../32655-01.htm | 4 - .../32655-02.htm | 6 - .../32655-03.htm | 6 - .../32655-04.htm | 5 - .../32655-05.html | 7 - .../32655-06.html | 5 - .../32655-11.html | 7 - .../32655-12.html | 7 - .../32655-13.html | 4 - .../32655-14.html | 3 - .../32655-15.html | 3 - .../Q00311_ExpulsionOfEvilSpirits.java | 176 --- .../30535-00.htm | 5 - .../30535-01.htm | 6 - .../30535-02.html | 6 - .../30535-03.html | 5 - .../30535-04.html | 6 - .../30535-05.htm | 6 - .../30535-06.htm | 5 - .../30535-07.html | 6 - .../30535-08.html | 7 - .../30535-09.html | 3 - .../30535-10.html | 5 - .../30535-11.html | 3 - .../Q00312_TakeAdvantageOfTheCrisis.java | 137 -- .../quests/Q00325_GrimCollector/30336-01.htm | 4 - .../quests/Q00325_GrimCollector/30336-02.htm | 5 - .../quests/Q00325_GrimCollector/30336-03.htm | 4 - .../quests/Q00325_GrimCollector/30336-04.html | 4 - .../quests/Q00325_GrimCollector/30336-05.html | 3 - .../quests/Q00325_GrimCollector/30342-01.html | 5 - .../quests/Q00325_GrimCollector/30342-02.html | 4 - .../quests/Q00325_GrimCollector/30342-03.html | 4 - .../quests/Q00325_GrimCollector/30342-04.html | 3 - .../quests/Q00325_GrimCollector/30434-01.html | 4 - .../quests/Q00325_GrimCollector/30434-02.htm | 6 - .../quests/Q00325_GrimCollector/30434-03.html | 5 - .../quests/Q00325_GrimCollector/30434-04.html | 6 - .../quests/Q00325_GrimCollector/30434-05.html | 5 - .../quests/Q00325_GrimCollector/30434-06.html | 4 - .../quests/Q00325_GrimCollector/30434-07.html | 4 - .../quests/Q00325_GrimCollector/30434-08.html | 6 - .../quests/Q00325_GrimCollector/30434-09.html | 6 - .../Q00325_GrimCollector.java | 285 ---- .../Q00327_RecoverTheFarmland/30034-01.html | 10 - .../Q00327_RecoverTheFarmland/30034-02.html | 4 - .../Q00327_RecoverTheFarmland/30034-03.html | 5 - .../Q00327_RecoverTheFarmland/30034-04.html | 5 - .../Q00327_RecoverTheFarmland/30034-05.html | 5 - .../Q00327_RecoverTheFarmland/30034-06.html | 5 - .../Q00327_RecoverTheFarmland/30034-07.html | 5 - .../Q00327_RecoverTheFarmland/30313-01.html | 8 - .../Q00327_RecoverTheFarmland/30313-02.html | 4 - .../Q00327_RecoverTheFarmland/30313-03.html | 6 - .../Q00327_RecoverTheFarmland/30313-04.html | 4 - .../Q00327_RecoverTheFarmland/30313-05.html | 5 - .../Q00327_RecoverTheFarmland/30313-06.html | 5 - .../Q00327_RecoverTheFarmland/30313-07.html | 5 - .../Q00327_RecoverTheFarmland/30313-08.html | 4 - .../Q00327_RecoverTheFarmland/30313-09.html | 5 - .../Q00327_RecoverTheFarmland/30313-10.html | 5 - .../Q00327_RecoverTheFarmland/30314-01.html | 6 - .../Q00327_RecoverTheFarmland/30314-02.html | 9 - .../Q00327_RecoverTheFarmland/30314-03.html | 6 - .../Q00327_RecoverTheFarmland/30314-04.html | 5 - .../Q00327_RecoverTheFarmland/30314-05.html | 5 - .../Q00327_RecoverTheFarmland/30314-06.html | 6 - .../Q00327_RecoverTheFarmland/30314-07.html | 4 - .../Q00327_RecoverTheFarmland/30314-08.html | 8 - .../Q00327_RecoverTheFarmland/30314-09.html | 3 - .../Q00327_RecoverTheFarmland/30382-01.htm | 5 - .../Q00327_RecoverTheFarmland/30382-02.htm | 7 - .../Q00327_RecoverTheFarmland/30382-03.htm | 3 - .../Q00327_RecoverTheFarmland/30382-04.html | 3 - .../Q00327_RecoverTheFarmland/30382-05.html | 5 - .../Q00327_RecoverTheFarmland/30382-05a.html | 5 - .../Q00327_RecoverTheFarmland/30382-05b.html | 4 - .../Q00327_RecoverTheFarmland/30597-01.htm | 5 - .../Q00327_RecoverTheFarmland/30597-02.htm | 6 - .../Q00327_RecoverTheFarmland/30597-03.htm | 6 - .../Q00327_RecoverTheFarmland/30597-03.html | 6 - .../Q00327_RecoverTheFarmland/30597-03a.htm | 6 - .../Q00327_RecoverTheFarmland/30597-04.html | 6 - .../Q00327_RecoverTheFarmland/30597-05.html | 6 - .../Q00327_RecoverTheFarmland/30597-06.html | 4 - .../Q00327_RecoverTheFarmland/30597-07.html | 4 - .../Q00327_RecoverTheFarmland.java | 461 ------ .../Q00328_SenseForBusiness/30436-01.htm | 5 - .../Q00328_SenseForBusiness/30436-02.htm | 5 - .../Q00328_SenseForBusiness/30436-03.htm | 7 - .../Q00328_SenseForBusiness/30436-04.html | 5 - .../Q00328_SenseForBusiness/30436-05.html | 5 - .../Q00328_SenseForBusiness/30436-06.html | 3 - .../Q00328_SenseForBusiness/30436-07.html | 3 - .../Q00328_SenseForBusiness.java | 167 --- .../Q00329_CuriosityOfADwarf/30437-01.htm | 5 - .../Q00329_CuriosityOfADwarf/30437-02.htm | 6 - .../Q00329_CuriosityOfADwarf/30437-03.htm | 6 - .../Q00329_CuriosityOfADwarf/30437-04.html | 5 - .../Q00329_CuriosityOfADwarf/30437-05.html | 6 - .../Q00329_CuriosityOfADwarf/30437-06.html | 3 - .../Q00329_CuriosityOfADwarf/30437-07.html | 3 - .../Q00329_CuriosityOfADwarf.java | 155 -- .../Q00331_ArrowOfVengeance/30125-01.htm | 7 - .../Q00331_ArrowOfVengeance/30125-02.htm | 7 - .../Q00331_ArrowOfVengeance/30125-03.htm | 5 - .../Q00331_ArrowOfVengeance/30125-04.html | 6 - .../Q00331_ArrowOfVengeance/30125-05.html | 6 - .../Q00331_ArrowOfVengeance/30125-06.html | 4 - .../Q00331_ArrowOfVengeance/30125-07.html | 3 - .../Q00331_ArrowOfVengeance.java | 166 --- .../Q00338_AlligatorHunter/30892-01.htm | 5 - .../Q00338_AlligatorHunter/30892-02.htm | 6 - .../Q00338_AlligatorHunter/30892-03.htm | 4 - .../Q00338_AlligatorHunter/30892-04.html | 5 - .../Q00338_AlligatorHunter/30892-05.html | 3 - .../Q00338_AlligatorHunter/30892-06.html | 7 - .../Q00338_AlligatorHunter/30892-07.html | 3 - .../Q00338_AlligatorHunter/30892-08.html | 3 - .../Q00338_AlligatorHunter/30892-09.html | 5 - .../Q00338_AlligatorHunter/30892-10.html | 4 - .../Q00338_AlligatorHunter.java | 133 -- .../30037-01.html | 5 - .../30037-02.html | 5 - .../30037-03.html | 4 - .../30037-04.html | 4 - .../30037-05.html | 3 - .../30375-01.html | 6 - .../30375-02.html | 5 - .../30375-03.html | 4 - .../30375-04.html | 6 - .../30375-05.html | 3 - .../30375-06.html | 3 - .../30385-01.htm | 6 - .../30385-02.htm | 6 - .../30385-03.htm | 5 - .../30385-04.html | 3 - .../30385-05.html | 3 - .../30385-06.html | 6 - .../30385-07.html | 3 - .../30385-08.html | 6 - .../30385-09.html | 4 - .../30385-10.html | 3 - .../30385-11.html | 3 - .../30385-12.html | 3 - .../30385-13.html | 3 - .../30989-01.html | 4 - .../30989-02.html | 3 - .../30989-03.html | 3 - .../Q00340_SubjugationOfLizardmen.java | 345 ----- .../Q00341_HuntingForWildBeasts/30078-01.html | 6 - .../Q00341_HuntingForWildBeasts/30078-02.htm | 7 - .../Q00341_HuntingForWildBeasts/30078-03.htm | 5 - .../Q00341_HuntingForWildBeasts/30078-04.htm | 5 - .../Q00341_HuntingForWildBeasts/30078-05.html | 4 - .../Q00341_HuntingForWildBeasts/30078-06.html | 4 - .../Q00341_HuntingForWildBeasts.java | 147 -- .../Q00345_MethodToRaiseTheDead/30912-01.html | 6 - .../Q00345_MethodToRaiseTheDead/30912-02.html | 5 - .../Q00345_MethodToRaiseTheDead/30912-03.html | 3 - .../Q00345_MethodToRaiseTheDead/30912-04.html | 3 - .../Q00345_MethodToRaiseTheDead/30912-05.html | 3 - .../Q00345_MethodToRaiseTheDead/30912-06.html | 4 - .../Q00345_MethodToRaiseTheDead/30970-01.htm | 5 - .../Q00345_MethodToRaiseTheDead/30970-02.htm | 5 - .../Q00345_MethodToRaiseTheDead/30970-03.html | 4 - .../Q00345_MethodToRaiseTheDead/30970-04.htm | 5 - .../Q00345_MethodToRaiseTheDead/30970-05.html | 3 - .../Q00345_MethodToRaiseTheDead/30970-06.html | 5 - .../Q00345_MethodToRaiseTheDead/30970-07.html | 3 - .../Q00345_MethodToRaiseTheDead/30970-08.html | 3 - .../Q00345_MethodToRaiseTheDead/30970-09.html | 3 - .../Q00345_MethodToRaiseTheDead/30970-10.html | 3 - .../Q00345_MethodToRaiseTheDead/30970-11.html | 4 - .../Q00345_MethodToRaiseTheDead/30970-12.html | 6 - .../Q00345_MethodToRaiseTheDead/30971-01.html | 5 - .../Q00345_MethodToRaiseTheDead/30971-02.html | 5 - .../Q00345_MethodToRaiseTheDead/30971-03.html | 4 - .../Q00345_MethodToRaiseTheDead/30973-01.html | 4 - .../Q00345_MethodToRaiseTheDead/30973-02.html | 5 - .../Q00345_MethodToRaiseTheDead/30973-03.html | 5 - .../Q00345_MethodToRaiseTheDead/30973-04.html | 5 - .../Q00345_MethodToRaiseTheDead/30973-05.html | 5 - .../Q00345_MethodToRaiseTheDead/30973-06.html | 5 - .../Q00345_MethodToRaiseTheDead/30973-07.html | 5 - .../Q00345_MethodToRaiseTheDead/30973-08.html | 5 - .../Q00345_MethodToRaiseTheDead/30973-09.html | 5 - .../Q00345_MethodToRaiseTheDead/30973-10.html | 5 - .../Q00345_MethodToRaiseTheDead/30973-11.html | 3 - .../Q00345_MethodToRaiseTheDead.java | 431 ------ .../quests/Q00351_BlackSwan/30897-01.html | 4 - .../quests/Q00351_BlackSwan/30897-02.html | 3 - .../quests/Q00351_BlackSwan/30916-01.htm | 4 - .../quests/Q00351_BlackSwan/30916-02.htm | 5 - .../quests/Q00351_BlackSwan/30916-03.htm | 3 - .../quests/Q00351_BlackSwan/30916-04.html | 4 - .../quests/Q00351_BlackSwan/30916-05.html | 3 - .../quests/Q00351_BlackSwan/30969-01.html | 5 - .../quests/Q00351_BlackSwan/30969-02.html | 4 - .../quests/Q00351_BlackSwan/30969-03.html | 6 - .../quests/Q00351_BlackSwan/30969-04.html | 4 - .../quests/Q00351_BlackSwan/30969-05.html | 4 - .../quests/Q00351_BlackSwan/30969-06.html | 5 - .../quests/Q00351_BlackSwan/30969-07.html | 6 - .../quests/Q00351_BlackSwan/30969-08.html | 4 - .../quests/Q00351_BlackSwan/30969-09.html | 3 - .../Q00351_BlackSwan/Q00351_BlackSwan.java | 224 --- .../Q00352_HelpRoodRaiseANewPet/31067-01.htm | 6 - .../Q00352_HelpRoodRaiseANewPet/31067-02.htm | 5 - .../Q00352_HelpRoodRaiseANewPet/31067-03.htm | 5 - .../Q00352_HelpRoodRaiseANewPet/31067-04.htm | 7 - .../Q00352_HelpRoodRaiseANewPet/31067-05.html | 5 - .../Q00352_HelpRoodRaiseANewPet/31067-06.html | 5 - .../Q00352_HelpRoodRaiseANewPet/31067-07.html | 6 - .../Q00352_HelpRoodRaiseANewPet/31067-08.html | 3 - .../Q00352_HelpRoodRaiseANewPet/31067-09.html | 6 - .../Q00352_HelpRoodRaiseANewPet/31067-10.html | 6 - .../Q00352_HelpRoodRaiseANewPet/31067-11.html | 6 - .../Q00352_HelpRoodRaiseANewPet.java | 186 --- .../30895-01.htm | 7 - .../30895-02.html | 5 - .../30895-03.html | 5 - .../30895-04.html | 7 - .../30895-05.html | 6 - .../30895-06.html | 6 - .../30895-07.html | 5 - .../30895-08.html | 3 - .../30895-09.html | 3 - .../30895-10.html | 3 - .../30895-11.html | 8 - .../30895-12.html | 4 - .../30895-13.html | 5 - .../Q00354_ConquestOfAlligatorIsland.java | 179 --- .../quests/Q00355_FamilyHonor/30181-01.htm | 5 - .../quests/Q00355_FamilyHonor/30181-02.htm | 7 - .../quests/Q00355_FamilyHonor/30181-03.htm | 6 - .../quests/Q00355_FamilyHonor/30181-04.html | 5 - .../quests/Q00355_FamilyHonor/30181-05.html | 7 - .../quests/Q00355_FamilyHonor/30181-06.html | 3 - .../quests/Q00355_FamilyHonor/30181-07.html | 6 - .../quests/Q00355_FamilyHonor/30181-08.html | 5 - .../quests/Q00355_FamilyHonor/30181-09.html | 3 - .../quests/Q00355_FamilyHonor/30181-10.html | 4 - .../quests/Q00355_FamilyHonor/30181-11.html | 8 - .../quests/Q00355_FamilyHonor/30929-01.html | 6 - .../quests/Q00355_FamilyHonor/30929-02.html | 6 - .../quests/Q00355_FamilyHonor/30929-03.html | 8 - .../quests/Q00355_FamilyHonor/30929-04.html | 8 - .../quests/Q00355_FamilyHonor/30929-05.html | 7 - .../quests/Q00355_FamilyHonor/30929-06.html | 8 - .../quests/Q00355_FamilyHonor/30929-07.html | 6 - .../quests/Q00355_FamilyHonor/30929-08.html | 3 - .../Q00355_FamilyHonor.java | 247 ---- .../Q00356_DigUpTheSeaOfSpores/30717-01.htm | 5 - .../Q00356_DigUpTheSeaOfSpores/30717-02.htm | 7 - .../Q00356_DigUpTheSeaOfSpores/30717-03.htm | 4 - .../Q00356_DigUpTheSeaOfSpores/30717-04.htm | 4 - .../Q00356_DigUpTheSeaOfSpores/30717-05.htm | 3 - .../Q00356_DigUpTheSeaOfSpores/30717-06.htm | 5 - .../Q00356_DigUpTheSeaOfSpores/30717-07.html | 3 - .../Q00356_DigUpTheSeaOfSpores/30717-08.html | 5 - .../Q00356_DigUpTheSeaOfSpores/30717-09.html | 5 - .../Q00356_DigUpTheSeaOfSpores/30717-10.html | 3 - .../Q00356_DigUpTheSeaOfSpores/30717-11.html | 3 - .../Q00356_DigUpTheSeaOfSpores/30717-12.html | 5 - .../Q00356_DigUpTheSeaOfSpores/30717-13.html | 6 - .../Q00356_DigUpTheSeaOfSpores/30717-14.html | 4 - .../Q00356_DigUpTheSeaOfSpores/30717-15.html | 4 - .../Q00356_DigUpTheSeaOfSpores/30717-16.html | 3 - .../Q00356_DigUpTheSeaOfSpores/30717-17.html | 4 - .../Q00356_DigUpTheSeaOfSpores/30717-18.html | 4 - .../Q00356_DigUpTheSeaOfSpores.java | 198 --- .../30862-01.htm | 5 - .../30862-02.htm | 6 - .../30862-03.htm | 7 - .../30862-04.htm | 4 - .../30862-05.html | 5 - .../30862-06.html | 3 - .../30862-07.html | 5 - .../Q00358_IllegitimateChildOfTheGoddess.java | 134 -- .../Q00360_PlunderTheirSupplies/30873-01.html | 5 - .../Q00360_PlunderTheirSupplies/30873-02.htm | 6 - .../Q00360_PlunderTheirSupplies/30873-03.htm | 6 - .../Q00360_PlunderTheirSupplies/30873-04.htm | 3 - .../Q00360_PlunderTheirSupplies/30873-05.html | 5 - .../Q00360_PlunderTheirSupplies/30873-06.html | 5 - .../Q00360_PlunderTheirSupplies/30873-07.html | 7 - .../Q00360_PlunderTheirSupplies/30873-08.html | 7 - .../Q00360_PlunderTheirSupplies/30873-09.html | 3 - .../Q00360_PlunderTheirSupplies/30873-10.html | 3 - .../Q00360_PlunderTheirSupplies.java | 184 --- .../quests/Q00362_BardsMandolin/30837-01.html | 4 - .../quests/Q00362_BardsMandolin/30837-02.html | 3 - .../quests/Q00362_BardsMandolin/30837-03.html | 3 - .../quests/Q00362_BardsMandolin/30956-01.html | 4 - .../quests/Q00362_BardsMandolin/30956-02.html | 3 - .../quests/Q00362_BardsMandolin/30957-01.htm | 6 - .../quests/Q00362_BardsMandolin/30957-02.htm | 4 - .../quests/Q00362_BardsMandolin/30957-03.html | 4 - .../quests/Q00362_BardsMandolin/30957-04.html | 3 - .../quests/Q00362_BardsMandolin/30957-05.html | 3 - .../quests/Q00362_BardsMandolin/30957-06.html | 5 - .../quests/Q00362_BardsMandolin/30957-07.html | 4 - .../quests/Q00362_BardsMandolin/30957-08.html | 5 - .../quests/Q00362_BardsMandolin/30958-01.html | 4 - .../quests/Q00362_BardsMandolin/30958-02.html | 3 - .../Q00362_BardsMandolin.java | 193 --- .../30057-01.html | 4 - .../30057-02.html | 4 - .../30057-03.html | 4 - .../30057-04.html | 3 - .../30058-01.html | 4 - .../30058-02.html | 4 - .../30058-03.html | 3 - .../30058-04.html | 3 - .../30458-01.html | 4 - .../30458-02.html | 4 - .../30458-03.html | 4 - .../30458-04.html | 4 - .../30594-01.html | 4 - .../30594-02.html | 4 - .../30594-03.html | 3 - .../30594-04.html | 3 - .../30595-01.html | 4 - .../30595-02.html | 4 - .../30595-03.html | 4 - .../30595-04.html | 3 - .../Q00363_SorrowfulSoundOfFlute/30956-01.htm | 5 - .../Q00363_SorrowfulSoundOfFlute/30956-02.htm | 4 - .../Q00363_SorrowfulSoundOfFlute/30956-03.htm | 4 - .../30956-04.html | 6 - .../30956-05.html | 3 - .../30956-06.html | 3 - .../30956-07.html | 3 - .../30956-08.html | 4 - .../30956-09.html | 3 - .../30956-10.html | 3 - .../30959-01.html | 3 - .../30959-02.html | 4 - .../30959-03.html | 3 - .../Q00363_SorrowfulSoundOfFlute.java | 364 ----- .../Q00364_JovialAccordion/30060-01.html | 3 - .../Q00364_JovialAccordion/30060-02.html | 3 - .../Q00364_JovialAccordion/30075-01.html | 3 - .../Q00364_JovialAccordion/30075-02.html | 3 - .../Q00364_JovialAccordion/30957-01.html | 6 - .../Q00364_JovialAccordion/30957-02.html | 4 - .../Q00364_JovialAccordion/30957-03.html | 3 - .../Q00364_JovialAccordion/30957-04.html | 4 - .../Q00364_JovialAccordion/30957-05.html | 4 - .../Q00364_JovialAccordion/30957-06.html | 3 - .../Q00364_JovialAccordion/30957-07.html | 3 - .../Q00364_JovialAccordion/30959-01.htm | 5 - .../Q00364_JovialAccordion/30959-02.htm | 3 - .../Q00364_JovialAccordion/30959-03.htm | 4 - .../Q00364_JovialAccordion/30959-04.html | 3 - .../Q00364_JovialAccordion/30959-05.html | 4 - .../Q00364_JovialAccordion/30960-01.html | 4 - .../Q00364_JovialAccordion/30960-02.html | 3 - .../Q00364_JovialAccordion/30960-03.html | 3 - .../Q00364_JovialAccordion/30960-04.html | 3 - .../Q00364_JovialAccordion/30961-01.html | 4 - .../Q00364_JovialAccordion/30961-02.html | 3 - .../Q00364_JovialAccordion/30961-03.html | 3 - .../Q00364_JovialAccordion/30961-04.html | 3 - .../Q00364_JovialAccordion.java | 290 ---- .../quests/Q00365_DevilsLegacy/30092-01.html | 5 - .../quests/Q00365_DevilsLegacy/30092-02.html | 3 - .../quests/Q00365_DevilsLegacy/30092-03.html | 4 - .../quests/Q00365_DevilsLegacy/30092-04.html | 4 - .../quests/Q00365_DevilsLegacy/30092-05.html | 3 - .../quests/Q00365_DevilsLegacy/30092-06.html | 4 - .../quests/Q00365_DevilsLegacy/30092-07.html | 4 - .../quests/Q00365_DevilsLegacy/30095-01.htm | 6 - .../quests/Q00365_DevilsLegacy/30095-02.htm | 4 - .../quests/Q00365_DevilsLegacy/30095-03.html | 6 - .../quests/Q00365_DevilsLegacy/30095-04.html | 7 - .../quests/Q00365_DevilsLegacy/30095-05.html | 4 - .../quests/Q00365_DevilsLegacy/30095-06.html | 3 - .../quests/Q00365_DevilsLegacy/30095-07.html | 5 - .../Q00365_DevilsLegacy.java | 257 ---- .../Q00366_SilverHairedShaman/30111-01.htm | 6 - .../Q00366_SilverHairedShaman/30111-02.htm | 3 - .../Q00366_SilverHairedShaman/30111-03.html | 5 - .../Q00366_SilverHairedShaman/30111-04.html | 7 - .../Q00366_SilverHairedShaman/30111-05.html | 3 - .../Q00366_SilverHairedShaman/30111-06.html | 3 - .../Q00366_SilverHairedShaman/30111-07.html | 5 - .../Q00366_SilverHairedShaman.java | 138 -- .../Q00367_ElectrifyingRecharge/30673-01.htm | 4 - .../Q00367_ElectrifyingRecharge/30673-02.htm | 4 - .../Q00367_ElectrifyingRecharge/30673-03.html | 4 - .../Q00367_ElectrifyingRecharge/30673-04.html | 5 - .../Q00367_ElectrifyingRecharge/30673-05.html | 3 - .../Q00367_ElectrifyingRecharge/30673-06.html | 3 - .../Q00367_ElectrifyingRecharge/30673-07.html | 4 - .../Q00367_ElectrifyingRecharge/30673-08.html | 5 - .../Q00367_ElectrifyingRecharge/30673-09.html | 3 - .../Q00367_ElectrifyingRecharge.java | 265 ---- .../30926-01.htm | 7 - .../30926-02.htm | 4 - .../30926-03.html | 7 - .../30926-04.html | 6 - .../30926-05.html | 3 - .../30926-06.html | 3 - .../30926-07.html | 5 - .../Q00368_TrespassingIntoTheHolyGround.java | 151 -- .../Q00369_CollectorOfJewels/30376-01.htm | 6 - .../Q00369_CollectorOfJewels/30376-02.htm | 4 - .../Q00369_CollectorOfJewels/30376-03.html | 5 - .../Q00369_CollectorOfJewels/30376-04.html | 6 - .../Q00369_CollectorOfJewels/30376-05.html | 8 - .../Q00369_CollectorOfJewels/30376-06.html | 3 - .../Q00369_CollectorOfJewels/30376-07.html | 3 - .../Q00369_CollectorOfJewels/30376-08.html | 3 - .../Q00369_CollectorOfJewels/30376-09.html | 6 - .../Q00369_CollectorOfJewels/30376-10.html | 5 - .../Q00369_CollectorOfJewels/30376-11.html | 5 - .../Q00369_CollectorOfJewels.java | 189 --- .../Q00370_AnElderSowsSeeds/30612-01.htm | 7 - .../Q00370_AnElderSowsSeeds/30612-02.htm | 6 - .../Q00370_AnElderSowsSeeds/30612-03.htm | 5 - .../Q00370_AnElderSowsSeeds/30612-04.htm | 6 - .../Q00370_AnElderSowsSeeds/30612-05.html | 8 - .../Q00370_AnElderSowsSeeds/30612-06.html | 8 - .../Q00370_AnElderSowsSeeds/30612-07.html | 6 - .../Q00370_AnElderSowsSeeds/30612-08.html | 7 - .../Q00370_AnElderSowsSeeds/30612-09.html | 3 - .../Q00370_AnElderSowsSeeds/30612-10.html | 5 - .../Q00370_AnElderSowsSeeds/30612-11.html | 4 - .../Q00370_AnElderSowsSeeds.java | 187 --- .../quests/Q00378_GrandFeast/30594-01.htm | 6 - .../quests/Q00378_GrandFeast/30594-02.htm | 4 - .../quests/Q00378_GrandFeast/30594-03.html | 6 - .../quests/Q00378_GrandFeast/30594-04.html | 7 - .../quests/Q00378_GrandFeast/30594-05.html | 4 - .../quests/Q00378_GrandFeast/30594-06.html | 4 - .../quests/Q00378_GrandFeast/30594-07.html | 4 - .../quests/Q00378_GrandFeast/30594-08.html | 4 - .../quests/Q00378_GrandFeast/30594-09.html | 3 - .../quests/Q00378_GrandFeast/30594-10.html | 3 - .../quests/Q00378_GrandFeast/30594-11.html | 4 - .../quests/Q00378_GrandFeast/30594-12.html | 3 - .../quests/Q00378_GrandFeast/30594-13.html | 7 - .../quests/Q00378_GrandFeast/30594-14.html | 4 - .../quests/Q00378_GrandFeast/30594-15.html | 4 - .../quests/Q00378_GrandFeast/30594-16.html | 4 - .../quests/Q00378_GrandFeast/30594-17.html | 4 - .../quests/Q00378_GrandFeast/30594-18.html | 3 - .../quests/Q00378_GrandFeast/30594-19.html | 3 - .../quests/Q00378_GrandFeast/30594-20.html | 4 - .../Q00378_GrandFeast/Q00378_GrandFeast.java | 314 ---- .../quests/Q00379_FantasyWine/30074-01.htm | 7 - .../quests/Q00379_FantasyWine/30074-02.htm | 6 - .../quests/Q00379_FantasyWine/30074-03.htm | 5 - .../quests/Q00379_FantasyWine/30074-04.htm | 5 - .../quests/Q00379_FantasyWine/30074-05.html | 3 - .../quests/Q00379_FantasyWine/30074-06.html | 6 - .../quests/Q00379_FantasyWine/30074-07.html | 4 - .../quests/Q00379_FantasyWine/30074-08.html | 3 - .../quests/Q00379_FantasyWine/30074-09.html | 3 - .../quests/Q00379_FantasyWine/30074-10.html | 4 - .../quests/Q00379_FantasyWine/30074-11.html | 3 - .../quests/Q00379_FantasyWine/30074-12.html | 3 - .../quests/Q00379_FantasyWine/30074-13.html | 5 - .../Q00379_FantasyWine.java | 167 --- .../30069-01.htm | 6 - .../30069-02.htm | 5 - .../30069-03.htm | 5 - .../30069-04.htm | 4 - .../30069-05.htm | 9 - .../30069-06.html | 6 - .../30069-07.html | 4 - .../30069-08.html | 5 - .../30069-09.html | 6 - .../30069-10.html | 5 - .../30069-11.html | 4 - .../30069-12.html | 6 - .../30069-13.html | 3 - .../30069-14.html | 3 - .../30069-15.html | 7 - ...Q00380_BringOutTheFlavorOfIngredients.java | 204 --- .../quests/Q00383_TreasureHunt/30890-01.html | 6 - .../quests/Q00383_TreasureHunt/30890-02.html | 6 - .../quests/Q00383_TreasureHunt/30890-03.htm | 6 - .../quests/Q00383_TreasureHunt/30890-04.htm | 5 - .../quests/Q00383_TreasureHunt/30890-05.htm | 5 - .../quests/Q00383_TreasureHunt/30890-06.htm | 6 - .../quests/Q00383_TreasureHunt/30890-07.htm | 5 - .../quests/Q00383_TreasureHunt/30890-08.html | 7 - .../quests/Q00383_TreasureHunt/30890-09.html | 5 - .../quests/Q00383_TreasureHunt/30890-10.html | 7 - .../quests/Q00383_TreasureHunt/30890-11.html | 9 - .../quests/Q00383_TreasureHunt/30890-12.html | 3 - .../quests/Q00383_TreasureHunt/30890-13.html | 5 - .../quests/Q00383_TreasureHunt/30890-14.html | 3 - .../quests/Q00383_TreasureHunt/31148-01.html | 4 - .../quests/Q00383_TreasureHunt/31148-02.html | 3 - .../quests/Q00383_TreasureHunt/31148-03.html | 3 - .../Q00383_TreasureHunt.java | 341 ----- .../Q00420_LittleWing/Q00420_LittleWing.java | 4 +- .../Q00421_LittleWingsBigAdventure.java | 10 +- .../Q00423_TakeYourBestShot/32740-00.html | 4 - .../Q00423_TakeYourBestShot/32740-01.html | 5 - .../Q00423_TakeYourBestShot/32740-02.html | 3 - .../Q00423_TakeYourBestShot/32740-03.html | 3 - .../Q00423_TakeYourBestShot/32740-04.html | 4 - .../Q00423_TakeYourBestShot/32740-05.html | 3 - .../Q00423_TakeYourBestShot/32740-ugoros.html | 4 - .../quests/Q00423_TakeYourBestShot/32740.html | 6 - .../Q00423_TakeYourBestShot/32744-00.htm | 4 - .../Q00423_TakeYourBestShot/32744-01.htm | 4 - .../Q00423_TakeYourBestShot/32744-02.html | 4 - .../Q00423_TakeYourBestShot/32744-03.htm | 6 - .../Q00423_TakeYourBestShot/32744-04.htm | 4 - .../Q00423_TakeYourBestShot/32744-05.html | 3 - .../Q00423_TakeYourBestShot/32744-06.html | 3 - .../Q00423_TakeYourBestShot/32744-07.htm | 3 - .../Q00423_TakeYourBestShot/32744-quit.html | 3 - .../Q00423_TakeYourBestShot.java | 169 --- .../Q00450_GraveRobberRescue.java | 6 +- .../Q00456_DontKnowDontCare.java | 4 +- .../Q00457_LostAndFound.java | 6 +- .../Q00461_RumbleInTheBase/30200-01.htm | 4 - .../Q00461_RumbleInTheBase/30200-02.htm | 4 - .../Q00461_RumbleInTheBase/30200-03.htm | 4 - .../Q00461_RumbleInTheBase/30200-04.htm | 4 - .../Q00461_RumbleInTheBase/30200-05.htm | 5 - .../Q00461_RumbleInTheBase/30200-06.html | 3 - .../Q00461_RumbleInTheBase/30200-07.html | 4 - .../Q00461_RumbleInTheBase.java | 176 --- .../Q00463_IMustBeaGenius.java | 4 +- .../Q00501_ProofOfClanAlliance.java | 12 +- .../quests/Q00601_WatchingEyes/31683-00.htm | 4 - .../quests/Q00601_WatchingEyes/31683-01.htm | 9 - .../quests/Q00601_WatchingEyes/31683-02.htm | 3 - .../quests/Q00601_WatchingEyes/31683-03.html | 5 - .../quests/Q00601_WatchingEyes/31683-04.html | 4 - .../quests/Q00601_WatchingEyes/31683-05.html | 4 - .../quests/Q00601_WatchingEyes/31683-06.html | 4 - .../Q00601_WatchingEyes.java | 164 --- .../quests/Q00602_ShadowOfLight/31683-00.htm | 4 - .../quests/Q00602_ShadowOfLight/31683-01.htm | 10 - .../quests/Q00602_ShadowOfLight/31683-02.htm | 5 - .../quests/Q00602_ShadowOfLight/31683-03.html | 4 - .../quests/Q00602_ShadowOfLight/31683-04.html | 6 - .../quests/Q00602_ShadowOfLight/31683-05.html | 3 - .../quests/Q00602_ShadowOfLight/31683-06.html | 3 - .../Q00602_ShadowOfLight.java | 171 --- .../31548-01.html | 4 - .../31548-02.html | 5 - .../31548-03.html | 3 - .../31549-01.html | 4 - .../31549-02.html | 5 - .../31549-03.html | 3 - .../31550-01.html | 4 - .../31550-02.html | 6 - .../31550-03.html | 3 - .../31551-01.html | 4 - .../31551-02.html | 8 - .../31551-03.html | 3 - .../31552-01.html | 4 - .../31552-02.html | 7 - .../31552-03.html | 3 - .../31683-01.htm | 7 - .../31683-02.html | 4 - .../31683-03.htm | 7 - .../31683-04.html | 4 - .../31683-05.html | 5 - .../31683-06.html | 4 - .../31683-07.html | 3 - .../31683-08.html | 4 - .../31683-09.html | 5 - .../31683-10.html | 5 - .../31683-11.html | 3 - .../Q00603_DaimonTheWhiteEyedPart1.java | 219 --- .../Q00605_AllianceWithKetraOrcs/31371-01.htm | 4 - .../Q00605_AllianceWithKetraOrcs/31371-02.htm | 4 - .../Q00605_AllianceWithKetraOrcs/31371-03.htm | 3 - .../Q00605_AllianceWithKetraOrcs/31371-04.htm | 5 - .../Q00605_AllianceWithKetraOrcs/31371-05.htm | 7 - .../Q00605_AllianceWithKetraOrcs/31371-06.htm | 6 - .../Q00605_AllianceWithKetraOrcs/31371-07.htm | 5 - .../Q00605_AllianceWithKetraOrcs/31371-08.htm | 4 - .../Q00605_AllianceWithKetraOrcs/31371-09.htm | 5 - .../31371-10.html | 3 - .../31371-11.html | 4 - .../31371-12.html | 3 - .../31371-12a.html | 3 - .../31371-12b.html | 3 - .../31371-13.html | 6 - .../31371-14.html | 4 - .../31371-15.html | 3 - .../31371-16.html | 5 - .../31371-17.html | 4 - .../31371-18.html | 3 - .../31371-19.html | 5 - .../31371-20.html | 4 - .../31371-21.html | 4 - .../31371-22.html | 5 - .../31371-23.html | 3 - .../31371-24.html | 5 - .../31371-25.html | 4 - .../31371-26.html | 3 - .../Q00605_AllianceWithKetraOrcs.java | 333 ----- .../31370-01.htm | 4 - .../31370-02.htm | 4 - .../31370-03.htm | 3 - .../31370-04.html | 6 - .../31370-05.html | 3 - .../31370-06.html | 3 - .../31370-07.html | 6 - .../31370-08.html | 3 - .../31370-09.html | 3 - .../Q00606_BattleAgainstVarkaSilenos.java | 144 -- .../Q00607_ProveYourCourageKetra/31370-01.htm | 4 - .../Q00607_ProveYourCourageKetra/31370-02.htm | 4 - .../Q00607_ProveYourCourageKetra/31370-03.htm | 4 - .../Q00607_ProveYourCourageKetra/31370-04.htm | 3 - .../31370-05.html | 4 - .../31370-06.html | 3 - .../31370-07.html | 3 - .../Q00607_ProveYourCourageKetra.java | 127 -- .../31370-01.htm | 4 - .../31370-02.htm | 4 - .../31370-03.htm | 4 - .../31370-04.htm | 4 - .../31370-05.html | 4 - .../31370-06.html | 3 - .../31370-07.html | 3 - .../Q00608_SlayTheEnemyCommanderKetra.java | 127 -- .../31371-00a.html | 4 - .../31371-00b.html | 4 - .../31371-01.htm | 4 - .../31371-02.html | 3 - .../31371-03.html | 3 - .../31372-01.html | 7 - .../31372-02.html | 3 - .../31372-03.html | 3 - .../31372-04.html | 4 - .../31561-01.html | 4 - .../31561-02.html | 3 - .../31561-03.html | 3 - .../31561-04.html | 3 - .../Q00609_MagicalPowerOfWaterPart1.java | 221 --- .../31372-00a.html | 4 - .../31372-00b.html | 4 - .../31372-01.htm | 4 - .../31372-02.html | 3 - .../31372-03.html | 3 - .../31372-04.html | 4 - .../31372-05.html | 3 - .../31372-06.html | 4 - .../31372-07.html | 3 - .../31560-01.html | 4 - .../31560-02.html | 3 - .../31560-03.html | 3 - .../31560-04.html | 3 - .../31560-05.html | 3 - .../Q00610_MagicalPowerOfWaterPart2.java | 218 --- .../31378-01.htm | 4 - .../31378-02.htm | 4 - .../31378-03.htm | 3 - .../31378-04.htm | 4 - .../31378-05.htm | 5 - .../31378-06.htm | 5 - .../31378-07.htm | 5 - .../31378-08.htm | 5 - .../31378-09.htm | 5 - .../31378-10.html | 3 - .../31378-11.html | 4 - .../31378-12.html | 3 - .../31378-12a.html | 3 - .../31378-12b.html | 3 - .../31378-13.html | 8 - .../31378-14.html | 4 - .../31378-15.html | 3 - .../31378-16.html | 8 - .../31378-17.html | 4 - .../31378-18.html | 3 - .../31378-19.html | 7 - .../31378-20.html | 4 - .../31378-21.html | 4 - .../31378-22.html | 7 - .../31378-23.html | 3 - .../31378-24.html | 6 - .../31378-25.html | 4 - .../31378-26.html | 3 - .../Q00611_AllianceWithVarkaSilenos.java | 333 ----- .../31377-01.htm | 4 - .../31377-02.htm | 4 - .../31377-03.htm | 3 - .../31377-04.html | 6 - .../31377-05.html | 3 - .../31377-06.html | 3 - .../31377-07.html | 6 - .../31377-08.html | 3 - .../31377-09.html | 3 - .../Q00612_BattleAgainstKetraOrcs.java | 144 -- .../Q00613_ProveYourCourageVarka/31377-01.htm | 4 - .../Q00613_ProveYourCourageVarka/31377-02.htm | 4 - .../Q00613_ProveYourCourageVarka/31377-03.htm | 4 - .../Q00613_ProveYourCourageVarka/31377-04.htm | 3 - .../31377-05.html | 4 - .../31377-06.html | 3 - .../31377-07.html | 3 - .../Q00613_ProveYourCourageVarka.java | 127 -- .../31377-01.htm | 4 - .../31377-02.htm | 4 - .../31377-03.htm | 4 - .../31377-04.htm | 5 - .../31377-05.html | 4 - .../31377-06.html | 3 - .../31377-07.html | 3 - .../Q00614_SlayTheEnemyCommanderVarka.java | 127 -- .../31378-00a.html | 4 - .../31378-00b.html | 4 - .../31378-01.htm | 5 - .../31378-02.html | 3 - .../31378-03.html | 3 - .../31379-01.html | 6 - .../31379-02.html | 4 - .../31379-03.html | 3 - .../31379-04.html | 5 - .../31559-01.html | 4 - .../31559-02.html | 3 - .../31559-03.html | 3 - .../31559-04.html | 3 - .../Q00615_MagicalPowerOfFirePart1.java | 221 --- .../31379-00a.html | 4 - .../31379-00b.html | 4 - .../31379-01.htm | 4 - .../31379-02.html | 3 - .../31379-03.html | 3 - .../31379-04.html | 4 - .../31379-05.html | 3 - .../31379-06.html | 4 - .../31379-07.html | 3 - .../31558-01.html | 4 - .../31558-02.html | 3 - .../31558-03.html | 3 - .../31558-04.html | 3 - .../31558-05.html | 3 - .../Q00616_MagicalPowerOfFirePart2.java | 218 --- .../Q00619_RelicsOfTheOldEmpire/31538-01.htm | 5 - .../Q00619_RelicsOfTheOldEmpire/31538-02.htm | 4 - .../Q00619_RelicsOfTheOldEmpire/31538-03.html | 5 - .../Q00619_RelicsOfTheOldEmpire/31538-04.html | 6 - .../Q00619_RelicsOfTheOldEmpire/31538-05.html | 3 - .../Q00619_RelicsOfTheOldEmpire/31538-06.html | 3 - .../Q00619_RelicsOfTheOldEmpire/31538-07.html | 6 - .../Q00619_RelicsOfTheOldEmpire/31538-08.html | 3 - .../Q00619_RelicsOfTheOldEmpire.java | 326 ----- .../Q00625_TheFinestIngredientsPart2.java | 8 +- .../quests/Q00628_HuntGoldenRam/31554-01.htm | 4 - .../quests/Q00628_HuntGoldenRam/31554-02.htm | 4 - .../quests/Q00628_HuntGoldenRam/31554-03.htm | 6 - .../quests/Q00628_HuntGoldenRam/31554-04.htm | 6 - .../quests/Q00628_HuntGoldenRam/31554-05.htm | 5 - .../quests/Q00628_HuntGoldenRam/31554-06.html | 3 - .../quests/Q00628_HuntGoldenRam/31554-07.html | 4 - .../quests/Q00628_HuntGoldenRam/31554-08.html | 6 - .../quests/Q00628_HuntGoldenRam/31554-09.html | 6 - .../quests/Q00628_HuntGoldenRam/31554-10.html | 4 - .../quests/Q00628_HuntGoldenRam/31554-11.html | 7 - .../quests/Q00628_HuntGoldenRam/31554-12.html | 4 - .../quests/Q00628_HuntGoldenRam/31554-13.html | 3 - .../quests/Q00628_HuntGoldenRam/31554-14.html | 4 - .../quests/Q00628_HuntGoldenRam/31555-00.htm | 5 - .../quests/Q00628_HuntGoldenRam/31555-01.htm | 6 - .../quests/Q00628_HuntGoldenRam/31555-02.htm | 6 - .../quests/Q00628_HuntGoldenRam/31556-00.htm | 4 - .../quests/Q00628_HuntGoldenRam/31556-01.htm | 5 - .../quests/Q00628_HuntGoldenRam/31556-02.htm | 5 - .../quests/Q00628_HuntGoldenRam/31556-03.htm | 10 - .../quests/Q00628_HuntGoldenRam/31556-04.htm | 3 - .../Q00628_HuntGoldenRam.java | 356 ----- .../31553-01.htm | 5 - .../31553-02.htm | 5 - .../31553-03.htm | 5 - .../31553-04.html | 4 - .../31553-05.html | 3 - .../31553-06.html | 3 - .../31553-07.html | 7 - .../31553-08.html | 3 - .../31553-09.html | 4 - .../Q00629_CleanUpTheSwampOfScreams.java | 157 -- .../Q00632_NecromancersRequest/31522-101.htm | 4 - .../Q00632_NecromancersRequest/31522-103.htm | 4 - .../Q00632_NecromancersRequest/31522-104.htm | 5 - .../Q00632_NecromancersRequest/31522-105.html | 7 - .../Q00632_NecromancersRequest/31522-106.html | 7 - .../Q00632_NecromancersRequest/31522-201.html | 3 - .../Q00632_NecromancersRequest/31522-202.html | 9 - .../Q00632_NecromancersRequest/31522-203.html | 4 - .../Q00632_NecromancersRequest/31522-204.html | 4 - .../Q00632_NecromancersRequest.java | 194 --- .../Q00633_InTheForgottenVillage/31388-01.htm | 6 - .../Q00633_InTheForgottenVillage/31388-02.htm | 5 - .../Q00633_InTheForgottenVillage/31388-03.htm | 6 - .../31388-04.html | 7 - .../31388-05.html | 7 - .../31388-06.html | 4 - .../31388-07.html | 7 - .../31388-08.html | 3 - .../31388-09.html | 4 - .../Q00633_InTheForgottenVillage.java | 196 --- .../31494-01.htm | 4 - .../31494-02.htm | 5 - .../31494-03.htm | 3 - .../31494-04.html | 7 - .../31494-05.html | 4 - .../31494-06.html | 3 - .../31494-07.html | 3 - ...Q00634_InSearchOfFragmentsOfDimension.java | 187 --- .../quests/Q00636_TruthBeyond/31329-01.htm | 5 - .../quests/Q00636_TruthBeyond/31329-02.htm | 5 - .../quests/Q00636_TruthBeyond/31329-03.htm | 5 - .../quests/Q00636_TruthBeyond/31329-04.htm | 5 - .../quests/Q00636_TruthBeyond/31329-05.htm | 5 - .../quests/Q00636_TruthBeyond/31329-mark.htm | 3 - .../quests/Q00636_TruthBeyond/32010-01.htm | 5 - .../quests/Q00636_TruthBeyond/32010-02.htm | 7 - .../quests/Q00636_TruthBeyond/32010-03.htm | 5 - .../Q00636_TruthBeyond.java | 128 -- .../quests/Q00637_ThroughOnceMore/32010-0.htm | 5 - .../Q00637_ThroughOnceMore/32010-01.htm | 4 - .../Q00637_ThroughOnceMore/32010-01a.htm | 4 - .../Q00637_ThroughOnceMore/32010-02.htm | 6 - .../Q00637_ThroughOnceMore/32010-03.htm | 3 - .../Q00637_ThroughOnceMore/32010-04.htm | 3 - .../Q00637_ThroughOnceMore/32010-05.htm | 8 - .../Q00637_ThroughOnceMore/32010-06.htm | 6 - .../Q00637_ThroughOnceMore/32010-07.htm | 4 - .../Q00637_ThroughOnceMore/32010-08.htm | 6 - .../Q00637_ThroughOnceMore/32010-09.htm | 6 - .../Q00637_ThroughOnceMore/32010-10.htm | 3 - .../Q00637_ThroughOnceMore.java | 161 -- .../Q00638_SeekersOfTheHolyGrail/31328-01.htm | 5 - .../Q00638_SeekersOfTheHolyGrail/31328-02.htm | 5 - .../Q00638_SeekersOfTheHolyGrail/31328-03.htm | 4 - .../31328-04.html | 6 - .../31328-05.html | 6 - .../31328-06.html | 3 - .../31328-07.html | 3 - .../31328-08.html | 3 - .../31328-09.html | 3 - .../Q00638_SeekersOfTheHolyGrail.java | 253 ---- .../31350-01.html | 3 - .../Q00639_GuardiansOfTheHolyGrail.java | 53 - .../32017-01.htm | 6 - .../32017-02.htm | 4 - .../32017-03.htm | 3 - .../32017-04.html | 5 - .../32017-05.html | 3 - .../32017-06.html | 9 - .../32017-07.html | 4 - .../Q00644_GraveRobberAnnihilation.java | 166 --- .../quests/Q00646_SignsOfRevolt/32016-01.html | 5 - .../quests/Q00646_SignsOfRevolt/32016-02.html | 5 - .../32052-01.htm | 6 - .../32052-02.htm | 6 - .../32052-03.htm | 4 - .../32052-04.html | 4 - .../32052-05.html | 3 - .../32052-06.html | 5 - .../Q00649_ALooterAndARailroadMan.java | 146 -- .../quests/Q00651_RunawayYouth/31989-01.html | 3 - .../quests/Q00651_RunawayYouth/32014-01.htm | 5 - .../quests/Q00651_RunawayYouth/32014-01a.htm | 5 - .../quests/Q00651_RunawayYouth/32014-02.html | 6 - .../quests/Q00651_RunawayYouth/32014-03.html | 3 - .../quests/Q00651_RunawayYouth/32014-04.htm | 6 - .../quests/Q00651_RunawayYouth/32014-05.htm | 3 - .../Q00651_RunawayYouth.java | 110 -- .../quests/Q00653_WildMaiden/30181-01.html | 4 - .../quests/Q00653_WildMaiden/32013-01.htm | 5 - .../quests/Q00653_WildMaiden/32013-01a.htm | 5 - .../quests/Q00653_WildMaiden/32013-02.htm | 3 - .../quests/Q00653_WildMaiden/32013-03.html | 4 - .../quests/Q00653_WildMaiden/32013-04.htm | 3 - .../quests/Q00653_WildMaiden/32013-04a.htm | 3 - .../quests/Q00653_WildMaiden/32013-05.htm | 3 - .../Q00653_WildMaiden/Q00653_WildMaiden.java | 110 -- .../Q00654_JourneyToASettlement/31453-01.htm | 4 - .../Q00654_JourneyToASettlement/31453-02.htm | 5 - .../Q00654_JourneyToASettlement/31453-03.html | 4 - .../Q00654_JourneyToASettlement/31453-04.htm | 4 - .../Q00654_JourneyToASettlement/31453-05.html | 4 - .../Q00654_JourneyToASettlement/31453-06.html | 4 - .../Q00654_JourneyToASettlement/31453-07.html | 5 - .../Q00654_JourneyToASettlement.java | 138 -- .../30634-01.htm | 5 - .../30634-02.htm | 4 - .../30634-03.html | 4 - .../30634-04.html | 4 - .../30634-05.html | 5 - .../30634-06.html | 3 - .../30634-07.html | 3 - .../30634-08.html | 3 - .../30634-09.html | 3 - ...00659_IdRatherBeCollectingFairyBreath.java | 141 -- .../30291-01.htm | 4 - .../30291-02.htm | 4 - .../30291-03.htm | 4 - .../30291-04.html | 4 - .../30291-05.html | 5 - .../30291-06.html | 6 - .../30291-07.html | 3 - .../30291-08.html | 3 - .../30291-08a.html | 3 - .../30291-09.html | 8 - .../30291-10.html | 6 - .../30291-11.html | 3 - .../30291-12.html | 5 - .../30291-13.html | 5 - .../30291-14.html | 8 - .../30291-15.html | 3 - .../30291-16.html | 5 - .../30291-17.html | 5 - .../30291-18.html | 6 - .../30291-19.html | 3 - .../30291-20.html | 5 - .../30291-21.html | 5 - .../30291-22.html | 4 - .../30291-23.html | 3 - .../30608-01.htm | 5 - .../30608-02.htm | 12 - .../30608-03.html | 3 - .../30608-04.html | 4 - .../30608-05.html | 3 - .../30608-06.htm | 5 - .../30608-06a.htm | 4 - .../Q00660_AidingTheFloranVillage.java | 387 ----- .../30210-01.htm | 8 - .../30210-02.htm | 8 - .../30210-03.htm | 3 - .../30210-04.html | 4 - .../30210-05.html | 3 - .../30210-06.html | 3 - .../30210-07.html | 3 - .../30210-08.html | 5 - .../30210-09.html | 3 - .../Q00661_MakingTheHarvestGroundsSafe.java | 157 -- .../quests/Q00690_JudesRequest/32356-01.htm | 6 - .../quests/Q00690_JudesRequest/32356-02.htm | 6 - .../quests/Q00690_JudesRequest/32356-03.htm | 4 - .../quests/Q00690_JudesRequest/32356-04.htm | 7 - .../quests/Q00690_JudesRequest/32356-05.htm | 6 - .../quests/Q00690_JudesRequest/32356-05a.htm | 6 - .../quests/Q00690_JudesRequest/32356-06.htm | 3 - .../quests/Q00690_JudesRequest/32356-07.htm | 4 - .../quests/Q00690_JudesRequest/32356-07a.htm | 4 - .../quests/Q00690_JudesRequest/32356-08.htm | 3 - .../quests/Q00690_JudesRequest/32356-09.htm | 4 - .../quests/Q00690_JudesRequest/32356-09a.htm | 4 - .../Q00690_JudesRequest.java | 199 --- .../32245-01.htm | 4 - .../32245-02.htm | 5 - .../32245-03.html | 4 - .../32245-04.htm | 6 - .../32245-05.html | 4 - .../32245-06.html | 3 - .../32245-07.html | 6 - .../32245-08.html | 6 - .../32245-09.html | 3 - .../32245-10.html | 3 - .../32245-11.html | 3 - .../32245-12.html | 3 - .../Q00691_MatrasSuspiciousRequest.java | 181 --- .../Q00692_HowtoOpposeEvil/32549-00.htm | 6 - .../Q00692_HowtoOpposeEvil/32549-01.htm | 6 - .../Q00692_HowtoOpposeEvil/32549-02.htm | 5 - .../Q00692_HowtoOpposeEvil/32549-03.htm | 4 - .../Q00692_HowtoOpposeEvil/32549-04.htm | 6 - .../Q00692_HowtoOpposeEvil/32549-05.htm | 4 - .../Q00692_HowtoOpposeEvil/32550-01.htm | 7 - .../Q00692_HowtoOpposeEvil/32550-02.htm | 7 - .../Q00692_HowtoOpposeEvil/32550-03.htm | 9 - .../Q00692_HowtoOpposeEvil/32550-04.htm | 7 - .../Q00692_HowtoOpposeEvil/32550-05.htm | 7 - .../Q00692_HowtoOpposeEvil/32550-06.htm | 6 - .../Q00692_HowtoOpposeEvil/32550-07.htm | 6 - .../Q00692_HowtoOpposeEvil/32550-08.htm | 3 - .../Q00692_HowtoOpposeEvil/32550-09.htm | 6 - .../Q00692_HowtoOpposeEvil/32550-10.htm | 3 - .../Q00692_HowtoOpposeEvil/32550-11.htm | 6 - .../Q00692_HowtoOpposeEvil/32550-12.htm | 6 - .../Q00692_HowtoOpposeEvil/32550-13.htm | 3 - .../Q00692_HowtoOpposeEvil/32550-14.htm | 6 - .../Q00692_HowtoOpposeEvil/32550-15.htm | 3 - .../Q00692_HowtoOpposeEvil/32550-16.htm | 6 - .../Q00692_HowtoOpposeEvil/32550-17.htm | 6 - .../Q00692_HowtoOpposeEvil/32550-18.htm | 3 - .../Q00692_HowtoOpposeEvil/32550-19.htm | 6 - .../Q00692_HowtoOpposeEvil/32550-20.htm | 3 - .../Q00692_HowtoOpposeEvil/32550-21.htm | 3 - .../Q00692_HowtoOpposeEvil.java | 266 ---- .../Q10267_JourneyToGracia/30857-00.html | 5 - .../Q10267_JourneyToGracia/30857-01.htm | 8 - .../Q10267_JourneyToGracia/30857-02.htm | 6 - .../Q10267_JourneyToGracia/30857-03.htm | 7 - .../Q10267_JourneyToGracia/30857-04.html | 4 - .../Q10267_JourneyToGracia/30857-05.htm | 5 - .../Q10267_JourneyToGracia/30857-06.html | 5 - .../Q10267_JourneyToGracia/30857-07.html | 4 - .../Q10267_JourneyToGracia/30857-0a.html | 4 - .../Q10267_JourneyToGracia/32548-01.html | 5 - .../Q10267_JourneyToGracia/32548-02.html | 7 - .../Q10267_JourneyToGracia/32548-03.html | 4 - .../Q10267_JourneyToGracia/32564-01.html | 5 - .../Q10267_JourneyToGracia/32564-02.html | 4 - .../Q10267_JourneyToGracia/32564-03.html | 4 - .../Q10267_JourneyToGracia.java | 121 -- .../Q10268_ToTheSeedOfInfinity/32530-01.html | 5 - .../Q10268_ToTheSeedOfInfinity/32530-02.html | 4 - .../Q10268_ToTheSeedOfInfinity/32548-00.html | 4 - .../Q10268_ToTheSeedOfInfinity/32548-01.htm | 7 - .../Q10268_ToTheSeedOfInfinity/32548-02.htm | 8 - .../Q10268_ToTheSeedOfInfinity/32548-03.html | 3 - .../Q10268_ToTheSeedOfInfinity/32548-04.htm | 6 - .../Q10268_ToTheSeedOfInfinity/32548-05.html | 6 - .../Q10268_ToTheSeedOfInfinity/32548-06.html | 5 - .../Q10268_ToTheSeedOfInfinity/32548-0a.html | 4 - .../Q10268_ToTheSeedOfInfinity.java | 110 -- .../32526-01.html | 5 - .../32526-02.html | 4 - .../32548-00.html | 4 - .../32548-01.htm | 7 - .../32548-02.htm | 9 - .../32548-03.html | 3 - .../32548-04.htm | 6 - .../32548-05.html | 5 - .../32548-06.html | 4 - .../32548-0a.html | 4 - .../Q10269_ToTheSeedOfDestruction.java | 110 -- .../32528-01.html | 3 - .../32528-02.html | 4 - .../32528-03.html | 3 - .../32556-01.html | 4 - .../32556-02.html | 4 - .../32556-03.html | 5 - .../32556-04.html | 5 - .../32556-05.html | 6 - .../32556-06.html | 4 - .../32556-07.html | 4 - .../32556-08.html | 4 - .../32556-09.html | 3 - .../Q10271_TheEnvelopingDarkness/32560-01.htm | 4 - .../32560-02.html | 5 - .../32560-03.html | 4 - .../Q10271_TheEnvelopingDarkness/32560-04.htm | 6 - .../32560-05.html | 5 - .../32560-06.html | 4 - .../32560-07.html | 3 - .../32560-08.html | 3 - .../Q10271_TheEnvelopingDarkness.java | 171 --- .../quests/Q10272_LightFragment/32557-01.html | 4 - .../quests/Q10272_LightFragment/32557-02.html | 4 - .../quests/Q10272_LightFragment/32557-03.html | 3 - .../quests/Q10272_LightFragment/32557-04.html | 3 - .../quests/Q10272_LightFragment/32557-05.html | 3 - .../quests/Q10272_LightFragment/32557-06.html | 3 - .../quests/Q10272_LightFragment/32559-01.html | 4 - .../quests/Q10272_LightFragment/32559-02.html | 4 - .../quests/Q10272_LightFragment/32559-03.html | 4 - .../quests/Q10272_LightFragment/32559-04.html | 6 - .../quests/Q10272_LightFragment/32559-05.html | 6 - .../quests/Q10272_LightFragment/32559-06.html | 6 - .../quests/Q10272_LightFragment/32559-07.html | 3 - .../quests/Q10272_LightFragment/32559-08.html | 6 - .../quests/Q10272_LightFragment/32559-09.html | 3 - .../quests/Q10272_LightFragment/32559-10.html | 4 - .../quests/Q10272_LightFragment/32559-11.html | 4 - .../quests/Q10272_LightFragment/32559-12.html | 4 - .../quests/Q10272_LightFragment/32559-13.html | 3 - .../quests/Q10272_LightFragment/32559-14.html | 3 - .../quests/Q10272_LightFragment/32559-15.html | 4 - .../quests/Q10272_LightFragment/32559-16.html | 4 - .../quests/Q10272_LightFragment/32559-17.html | 5 - .../quests/Q10272_LightFragment/32559-18.html | 6 - .../quests/Q10272_LightFragment/32559-19.html | 3 - .../quests/Q10272_LightFragment/32560-01.htm | 4 - .../quests/Q10272_LightFragment/32560-02.html | 4 - .../quests/Q10272_LightFragment/32560-03.html | 4 - .../quests/Q10272_LightFragment/32560-04.html | 4 - .../quests/Q10272_LightFragment/32560-05.htm | 5 - .../quests/Q10272_LightFragment/32560-06.html | 4 - .../quests/Q10272_LightFragment/32566-01.html | 4 - .../quests/Q10272_LightFragment/32566-02.html | 3 - .../quests/Q10272_LightFragment/32566-03.html | 4 - .../quests/Q10272_LightFragment/32566-04.html | 4 - .../Q10272_LightFragment/32566-04a.html | 3 - .../quests/Q10272_LightFragment/32566-05.html | 4 - .../quests/Q10272_LightFragment/32566-06.html | 4 - .../Q10272_LightFragment/32566-06a.html | 4 - .../quests/Q10272_LightFragment/32566-08.html | 3 - .../quests/Q10272_LightFragment/32566-09.html | 4 - .../quests/Q10272_LightFragment/32566-10.html | 3 - .../quests/Q10272_LightFragment/32567-01.html | 4 - .../quests/Q10272_LightFragment/32567-02.html | 4 - .../quests/Q10272_LightFragment/32567-03.html | 5 - .../quests/Q10272_LightFragment/32567-04.html | 5 - .../quests/Q10272_LightFragment/32567-05.html | 4 - .../Q10272_LightFragment.java | 331 ----- .../Q10276_MutatedKaneusGludio/30332-00.htm | 4 - .../Q10276_MutatedKaneusGludio/30332-01.htm | 4 - .../Q10276_MutatedKaneusGludio/30332-02.htm | 8 - .../Q10276_MutatedKaneusGludio/30332-03.htm | 6 - .../Q10276_MutatedKaneusGludio/30332-04.htm | 4 - .../Q10276_MutatedKaneusGludio/30332-05.htm | 6 - .../Q10276_MutatedKaneusGludio/30332-06.htm | 3 - .../Q10276_MutatedKaneusGludio/30344-01.htm | 6 - .../Q10276_MutatedKaneusGludio/30344-02.htm | 5 - .../Q10276_MutatedKaneusGludio/30344-03.htm | 5 - .../Q10276_MutatedKaneusGludio.java | 172 --- .../Q10277_MutatedKaneusDion/30071-00.html | 4 - .../Q10277_MutatedKaneusDion/30071-01.htm | 4 - .../Q10277_MutatedKaneusDion/30071-02.htm | 8 - .../Q10277_MutatedKaneusDion/30071-03.html | 6 - .../Q10277_MutatedKaneusDion/30071-04.html | 4 - .../Q10277_MutatedKaneusDion/30071-05.html | 6 - .../Q10277_MutatedKaneusDion/30071-06.html | 3 - .../Q10277_MutatedKaneusDion/30461-01.html | 6 - .../Q10277_MutatedKaneusDion/30461-02.html | 5 - .../Q10277_MutatedKaneusDion/30461-03.html | 5 - .../Q10277_MutatedKaneusDion.java | 172 --- .../Q10278_MutatedKaneusHeine/30907-01.htm | 6 - .../Q10278_MutatedKaneusHeine/30907-02.htm | 5 - .../Q10278_MutatedKaneusHeine/30907-03.htm | 5 - .../Q10278_MutatedKaneusHeine/30916-00.htm | 4 - .../Q10278_MutatedKaneusHeine/30916-01.htm | 4 - .../Q10278_MutatedKaneusHeine/30916-02.htm | 8 - .../Q10278_MutatedKaneusHeine/30916-03.htm | 6 - .../Q10278_MutatedKaneusHeine/30916-04.htm | 4 - .../Q10278_MutatedKaneusHeine/30916-05.htm | 6 - .../Q10278_MutatedKaneusHeine/30916-06.htm | 3 - .../Q10278_MutatedKaneusHeine.java | 172 --- .../Q10279_MutatedKaneusOren/30189-01.htm | 6 - .../Q10279_MutatedKaneusOren/30189-02.htm | 5 - .../Q10279_MutatedKaneusOren/30189-03.htm | 5 - .../Q10279_MutatedKaneusOren/30196-00.htm | 4 - .../Q10279_MutatedKaneusOren/30196-01.htm | 4 - .../Q10279_MutatedKaneusOren/30196-02.htm | 8 - .../Q10279_MutatedKaneusOren/30196-03.htm | 6 - .../Q10279_MutatedKaneusOren/30196-04.htm | 4 - .../Q10279_MutatedKaneusOren/30196-05.htm | 6 - .../Q10279_MutatedKaneusOren/30196-06.htm | 3 - .../Q10279_MutatedKaneusOren.java | 172 --- .../31972-01.htm | 6 - .../31972-02.htm | 5 - .../31972-03.htm | 5 - .../31981-00.htm | 4 - .../31981-01.htm | 4 - .../31981-02.htm | 8 - .../31981-03.htm | 6 - .../31981-04.htm | 4 - .../31981-05.htm | 6 - .../31981-06.htm | 3 - .../Q10280_MutatedKaneusSchuttgart.java | 172 --- .../Q10281_MutatedKaneusRune/31335-01.htm | 6 - .../Q10281_MutatedKaneusRune/31335-02.htm | 5 - .../Q10281_MutatedKaneusRune/31335-03.htm | 5 - .../Q10281_MutatedKaneusRune/31340-00.htm | 4 - .../Q10281_MutatedKaneusRune/31340-01.htm | 4 - .../Q10281_MutatedKaneusRune/31340-02.htm | 8 - .../Q10281_MutatedKaneusRune/31340-03.htm | 6 - .../Q10281_MutatedKaneusRune/31340-04.htm | 4 - .../Q10281_MutatedKaneusRune/31340-05.htm | 6 - .../Q10281_MutatedKaneusRune/31340-06.htm | 3 - .../Q10281_MutatedKaneusRune.java | 162 --- .../Q10285_MeetingSirra.java | 4 +- .../Q10286_ReunionWithSirra.java | 4 +- .../Q10320_LetsGoToTheCentralSquare.java | 4 +- .../Q10321_QualificationsOfTheSeeker.java | 4 +- ...Q10322_SearchingForTheMysteriousPower.java | 4 +- .../Q10326_RespectYourElders.java | 8 +- .../Q10744_StrongerThanSteel.java | 2 +- .../scripts/quests/QuestMasterHandler.java | 222 --- .../data/scripts/vehicles/BoatGludinRune.java | 46 +- .../scripts/vehicles/BoatInnadrilTour.java | 22 +- .../scripts/vehicles/BoatRunePrimeval.java | 16 +- .../dist/game/data/stats/npcs/33000-33100.xml | 4 +- .../dist/game/data/stats/npcs/33200-33300.xml | 4 +- .../dist/game/data/stats/npcs/33500-33600.xml | 6 +- .../game/data/stats/skills/10200-10299.xml | 561 ++++++- trunk/dist/game/data/xsd/skills.xsd | 3 + trunk/dist/tools/sql/game/characters.sql | 2 - trunk/dist/tools/sql/game/random_spawn.sql | 2 - .../dist/tools/sql/game/random_spawn_loc.sql | 17 - trunk/dist/tools/sql/game/spawnlist.sql | 28 +- trunk/java/com/l2jserver/Config.java | 19 +- .../data/sql/impl/AnnouncementsTable.java | 4 +- .../l2jserver/gameserver/enums/ChatType.java | 84 ++ .../gameserver/enums/SubclassInfoType.java | 29 + .../gameserver/handler/ChatHandler.java | 22 +- .../gameserver/handler/IChatHandler.java | 5 +- .../instancemanager/PetitionManager.java | 8 +- .../instancemanager/WalkingManager.java | 6 +- .../gameserver/model/CharEffectList.java | 13 +- .../gameserver/model/actor/L2Attackable.java | 4 +- .../instance/L2FortCommanderInstance.java | 4 +- .../model/actor/instance/L2PcInstance.java | 111 +- .../instance/L2SepulcherMonsterInstance.java | 5 +- .../instance/L2SepulcherNpcInstance.java | 4 +- .../gameserver/model/entity/FortSiege.java | 4 +- .../gameserver/model/entity/Instance.java | 9 +- .../gameserver/model/entity/TvTEvent.java | 4 +- .../entity/clanhall/ClanHallSiegeEngine.java | 3 +- .../impl/character/player/OnPlayerChat.java | 7 +- .../model/olympiad/OlympiadAnnouncer.java | 4 +- .../gameserver/model/skills/AbnormalType.java | 2 + .../gameserver/model/stats/TraitType.java | 4 +- .../model/variables/NpcVariables.java | 28 +- .../network/clientpackets/EnterWorld.java | 5 +- .../clientpackets/RequestActionUse.java | 21 +- .../clientpackets/RequestPetitionCancel.java | 3 +- .../network/clientpackets/Say2.java | 102 +- .../network/serverpackets/CreatureSay.java | 21 +- .../network/serverpackets/ExSubjobInfo.java | 12 +- .../network/serverpackets/NpcSay.java | 13 +- .../serverpackets/RelationChanged.java | 2 +- .../network/serverpackets/Snoop.java | 8 +- .../network/serverpackets/UserInfo.java | 2 +- .../l2jserver/gameserver/util/Broadcast.java | 4 +- 1949 files changed, 3120 insertions(+), 33466 deletions(-) rename trunk/dist/game/data/instances/{IceQueensCastleHardBattle.xml => IceQueensCastleBattleEasy.xml} (93%) rename trunk/dist/game/data/instances/{IceQueensCastleNormalBattle.xml => IceQueensCastleBattleHardcore.xml} (74%) delete mode 100644 trunk/dist/game/data/multisell/305986001.xml delete mode 100644 trunk/dist/game/data/multisell/305986002.xml delete mode 100644 trunk/dist/game/data/scripts/ai/group_template/RangeGuard.java delete mode 100644 trunk/dist/game/data/scripts/ai/group_template/VarkaKetra.java create mode 100644 trunk/dist/game/data/scripts/ai/individual/Banette.java create mode 100644 trunk/dist/game/data/scripts/ai/individual/Bink.java create mode 100644 trunk/dist/game/data/scripts/ai/individual/Devno.java create mode 100644 trunk/dist/game/data/scripts/ai/individual/Eleve.java create mode 100644 trunk/dist/game/data/scripts/ai/individual/Gagabu.java create mode 100644 trunk/dist/game/data/scripts/ai/individual/Galad.java create mode 100644 trunk/dist/game/data/scripts/ai/individual/GuardSoldier.java rename trunk/dist/game/data/scripts/ai/{npc/TownPets/TownPets.java => individual/Handermonkey.java} (54%) create mode 100644 trunk/dist/game/data/scripts/ai/individual/Heymond.java create mode 100644 trunk/dist/game/data/scripts/ai/individual/Holly.java create mode 100644 trunk/dist/game/data/scripts/ai/individual/Karonf.java create mode 100644 trunk/dist/game/data/scripts/ai/individual/Luderic.java create mode 100644 trunk/dist/game/data/scripts/ai/individual/Lumi.java rename trunk/dist/game/data/scripts/{quests/Q00646_SignsOfRevolt/Q00646_SignsOfRevolt.java => ai/individual/Mai.java} (50%) create mode 100644 trunk/dist/game/data/scripts/ai/individual/MarinSmith.java rename trunk/dist/game/data/scripts/ai/{npc/Oris => individual}/Oris.java (72%) create mode 100644 trunk/dist/game/data/scripts/ai/individual/Sodian.java create mode 100644 trunk/dist/game/data/scripts/ai/individual/Stiller.java create mode 100644 trunk/dist/game/data/scripts/ai/individual/TomaJunior.java rename trunk/dist/game/data/scripts/{quests/Q00635_IntoTheDimensionalRift/Q00635_IntoTheDimensionalRift.java => ai/individual/TrainingGolem.java} (55%) delete mode 100644 trunk/dist/game/data/scripts/ai/npc/Dorian/Dorian.java delete mode 100644 trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-1.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-2.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-3.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-4.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-5.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-6.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-7.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-8.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NewbieCoupons/30598.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-1.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-2.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-3.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-4.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-5.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-6.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-7.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-8.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-9.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-1.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-2.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-3.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-4.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-5.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-6.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-7.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-8.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-1.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-2.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-3.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-4.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-5.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-6.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-7.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-8.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-1.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-2.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-3.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-4.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-5.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-6.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-7.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-8.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-1.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-2.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-3.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-4.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-5.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-6.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-7.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-8.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-9.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-1.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-10.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-11.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-12.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-2.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-3.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-4.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-5.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-6.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-7.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-8.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-9.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/MoveToLoc.htm delete mode 100644 trunk/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java delete mode 100644 trunk/dist/game/data/scripts/custom/RaidbossInfo/RaidbossInfo.java delete mode 100644 trunk/dist/game/data/scripts/custom/RaidbossInfo/info.htm delete mode 100644 trunk/dist/game/data/scripts/custom/RaidbossInfo/level20.htm delete mode 100644 trunk/dist/game/data/scripts/custom/RaidbossInfo/level30.htm delete mode 100644 trunk/dist/game/data/scripts/custom/RaidbossInfo/level40.htm delete mode 100644 trunk/dist/game/data/scripts/custom/RaidbossInfo/level50.htm delete mode 100644 trunk/dist/game/data/scripts/custom/RaidbossInfo/level60.htm delete mode 100644 trunk/dist/game/data/scripts/custom/RaidbossInfo/level70.htm delete mode 100644 trunk/dist/game/data/scripts/custom/RaidbossInfo/level80.htm rename trunk/dist/game/data/scripts/instances/{IceQueensCastleHardBattle => IceQueensCastleBattle}/18851-01.html (100%) rename trunk/dist/game/data/scripts/instances/{IceQueensCastleHardBattle => IceQueensCastleBattle}/18851.html (69%) rename trunk/dist/game/data/scripts/instances/{IceQueensCastleNormalBattle/IceQueensCastleNormalBattle.java => IceQueensCastleBattle/IceQueensCastleBattle.java} (79%) delete mode 100644 trunk/dist/game/data/scripts/instances/IceQueensCastleHardBattle/IceQueensCastleHardBattle.java delete mode 100644 trunk/dist/game/data/scripts/instances/IceQueensCastleNormalBattle/18851-01.html delete mode 100644 trunk/dist/game/data/scripts/instances/IceQueensCastleNormalBattle/18851.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31256-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31256-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31256-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31371-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31371-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31371-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/Q00011_SecretMeetingWithKetraOrcs.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31258-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31258-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31258-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31378-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31378-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31378-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/Q00012_SecretMeetingWithVarkaSilenos.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31263-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31263-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31263-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31538-00.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31538-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31538-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/Q00014_WhereaboutsOfTheArchaeologist.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31315-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31315-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31315-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31555-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31555-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/Q00018_MeetingWithTheGoldenRam.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31348-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31348-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31348-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31349-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31349-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31349-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31350-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31350-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31350-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-06a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07b.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07c.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31525-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31525-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-01a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-16.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-17.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-18.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-19.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-20.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-21.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-22.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-07a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31530-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31530-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31530-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/Q00023_LidiasHeart.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-16.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-17.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-18.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-19.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-20.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-21.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-22.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-16.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-17.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-18.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-19.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-20.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-21.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-22.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31531-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31531-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31531-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-07a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-16.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-17.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-18.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-19.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-20.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/Q00024_InhabitantsOfTheForestOfTheDead.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31434-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31434-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31434-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-07.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/Q00027_ChestCaughtWithABaitOfWind.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31442-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31442-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31442-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-07.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-08.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-09.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/Q00028_ChestCaughtWithABaitOfIcyAir.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/30909-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/30909-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/30909-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-07.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-08.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-09.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/Q00029_ChestCaughtWithABaitOfEarth.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/30629-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/30629-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/30629-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-03a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-04a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/Q00030_ChestCaughtWithABaitOfFire.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-03a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-07.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/Q00132_MatrasCuriosity.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/Q00147_PathtoBecominganEliteMercenary.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/castle.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-02a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/Q00148_PathtoBecominganExaltedMercenary.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/castle.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-00a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-00b.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/Q00176_StepsForHonor.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/Q00249_PoisonedPlainsOfTheLizardmen.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-07.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-08.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-09.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-20.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-21.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-22.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-23.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-24.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-25.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-26.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-27.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-done.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-end.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/Q00250_WatchWhatYouEat.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/Q00251_NoSecrets.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/Q00252_ItSmellsDelicious.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-14.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/Q00287_FiguringItOut.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/Q00288_HandleWithCare.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-07.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/Q00289_NoMoreSoupForYou.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30063-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30063-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30063-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30466-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30466-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30466-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/Q00299_GatherIngredientsForPie.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-00.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-00.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-16.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-17.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/Q00311_ExpulsionOfEvilSpirits.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/Q00312_TakeAdvantageOfTheCrisis.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-05a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-05b.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-03a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/Q00327_RecoverTheFarmland.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/Q00328_SenseForBusiness.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/Q00329_CuriosityOfADwarf.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/Q00331_ArrowOfVengeance.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/Q00338_AlligatorHunter.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30989-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30989-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30989-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/Q00340_SubjugationOfLizardmen.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/Q00341_HuntingForWildBeasts.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30971-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30971-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30971-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/Q00345_MethodToRaiseTheDead.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30897-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30897-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/Q00351_BlackSwan.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/Q00352_HelpRoodRaiseANewPet.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/Q00354_ConquestOfAlligatorIsland.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/Q00355_FamilyHonor.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-16.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-17.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-18.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/Q00356_DigUpTheSeaOfSpores.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/Q00358_IllegitimateChildOfTheGoddess.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/Q00360_PlunderTheirSupplies.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30837-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30837-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30837-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30956-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30956-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30958-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30958-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/Q00362_BardsMandolin.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30959-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30959-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30959-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/Q00363_SorrowfulSoundOfFlute.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30060-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30060-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30075-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30075-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/Q00364_JovialAccordion.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/Q00365_DevilsLegacy.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/Q00366_SilverHairedShaman.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/Q00367_ElectrifyingRecharge.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/Q00368_TrespassingIntoTheHolyGround.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/Q00369_CollectorOfJewels.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-16.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-17.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-18.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-19.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-20.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/Q00378_GrandFeast.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/Q00379_FantasyWine.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/Q00380_BringOutTheFlavorOfIngredients.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-07.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/31148-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/31148-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/31148-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/Q00383_TreasureHunt.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-00.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-ugoros.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-07.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-quit.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/Q00423_TakeYourBestShot.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/Q00461_RumbleInTheBase.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/Q00601_WatchingEyes.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/Q00602_ShadowOfLight.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31548-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31548-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31548-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31549-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31549-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31549-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31550-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31550-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31550-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31551-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31551-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31551-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31552-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31552-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31552-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/Q00603_DaimonTheWhiteEyedPart1.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-07.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-08.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-09.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-12a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-12b.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-16.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-17.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-18.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-19.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-20.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-21.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-22.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-23.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-24.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-25.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-26.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/Q00605_AllianceWithKetraOrcs.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/Q00606_BattleAgainstVarkaSilenos.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/Q00607_ProveYourCourageKetra.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/Q00608_SlayTheEnemyCommanderKetra.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-00a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-00b.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/Q00609_MagicalPowerOfWaterPart1.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-00a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-00b.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-07.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-08.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-09.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-12a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-12b.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-16.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-17.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-18.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-19.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-20.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-21.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-22.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-23.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-24.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-25.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-26.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/Q00611_AllianceWithVarkaSilenos.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/Q00612_BattleAgainstKetraOrcs.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/Q00613_ProveYourCourageVarka.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/Q00614_SlayTheEnemyCommanderVarka.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-00a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-00b.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/Q00615_MagicalPowerOfFirePart1.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-00a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-00b.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/Q00628_HuntGoldenRam.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/Q00629_CleanUpTheSwampOfScreams.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-101.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-103.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-104.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-105.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-106.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-201.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-202.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-203.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-204.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/Q00632_NecromancersRequest.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/Q00633_InTheForgottenVillage.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/Q00634_InSearchOfFragmentsOfDimension.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-mark.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/32010-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/32010-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/32010-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/Q00636_TruthBeyond.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-0.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-01a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-07.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-08.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-09.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-10.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/Q00638_SeekersOfTheHolyGrail.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00639_GuardiansOfTheHolyGrail/31350-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00639_GuardiansOfTheHolyGrail/Q00639_GuardiansOfTheHolyGrail.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/Q00644_GraveRobberAnnihilation.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/32016-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/32016-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/Q00649_ALooterAndARailroadMan.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/31989-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-01a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/Q00651_RunawayYouth.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/30181-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-01a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-04a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/Q00653_WildMaiden.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/Q00654_JourneyToASettlement.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/Q00659_IdRatherBeCollectingFairyBreath.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-08a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-16.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-17.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-18.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-19.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-20.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-21.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-22.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-23.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-06a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/Q00660_AidingTheFloranVillage.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/Q00661_MakingTheHarvestGroundsSafe.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-05a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-07.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-07a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-08.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-09.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-09a.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/Q00690_JudesRequest.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-07.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-08.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-09.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-10.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-11.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-12.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-13.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-14.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-15.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-16.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-17.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-18.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-19.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-20.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-21.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-00.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-0a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32530-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32530-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-00.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-0a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32526-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32526-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-00.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-0a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32528-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32528-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32528-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-07.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-11.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-12.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-13.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-14.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-15.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-16.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-17.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-18.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-19.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-04a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-06a.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-08.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-09.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-10.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-00.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-04.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-05.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-06.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-01.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-02.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-03.html delete mode 100644 trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java delete mode 100644 trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-00.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-01.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-02.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-03.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-04.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-05.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-06.htm delete mode 100644 trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java create mode 100644 trunk/java/com/l2jserver/gameserver/enums/ChatType.java create mode 100644 trunk/java/com/l2jserver/gameserver/enums/SubclassInfoType.java diff --git a/trunk/dist/game/config/General.properties b/trunk/dist/game/config/General.properties index 4435e0133d..e38ad6f978 100644 --- a/trunk/dist/game/config/General.properties +++ b/trunk/dist/game/config/General.properties @@ -429,6 +429,10 @@ GlobalChat = ON # Default: ON TradeChat = ON +# Minimum level for chat, 0 = disable +# Retail: 20 +MinimumChatLevel = 0 + # If you are experiencing problems with Warehouse transactions, feel free to disable them here. # Default: True AllowWarehouse = True @@ -515,10 +519,6 @@ BoatBroadcastRadius = 20000 # Default: True AllowCursedWeapons = True -#Allow Pet manager's pets to walk around. -# Default: True -AllowPetWalkers = True - # Show "data/html/servnews.htm" when a character enters world. # Default: False ShowServerNews = False @@ -539,34 +539,34 @@ UseChatFilter = False ChatFilterChars = ^_^ # Banchat for channels, split ";" -# 0 = ALL (white) -# 1 = SHOUT (!) -# 2 = TELL (") -# 3 = PARTY (#) -# 4 = CLAN (@) -# 5 = GM (//gmchat) -# 6 = PETITION_PLAYER (*) -# 7 = PETITION_GM (*) -# 8 = TRADE (+) -# 9 = ALLIANCE ($) -# 10 = ANNOUNCEMENT -# 11 = BOAT -# 12 = L2FRIEND -# 13 = MSNCHAT -# 14 = PARTYMATCH_ROOM -# 15 = PARTYROOM_COMMANDER (Yellow) -# 16 = PARTYROOM_ALL (Red) -# 17 = HERO_VOICE (&) -# 18 = CRITICAL_ANNOUNCE -# 19 = SCREEN_ANNOUNCE -# 20 = BATTLEFIELD -# 21 = MPCC_ROOM -# 22 = NPC_ALL -# 23 = NPC_SHOUT -# 24 = NEW_TELL -# 25 = Global -# Default: 0;1;8;17;25 -BanChatChannels = 0;1;8;17;25 +# GENERAL (white) +# SHOUT (!) +# TELL (") +# PARTY (#) +# CLAN (@) +# GM (//gmchat) +# PETITION_PLAYER (*) +# PETITION_GM (*) +# TRADE (+) +# ALLIANCE ($) +# ANNOUNCEMENT +# BOAT +# FRIEND +# MSNCHAT +# PARTYMATCH_ROOM +# PARTYROOM_COMMANDER (Yellow) +# PARTYROOM_ALL (Red) +# HERO_VOICE (%) +# CRITICAL_ANNOUNCE +# SCREEN_ANNOUNCE +# BATTLEFIELD +# MPCC_ROOM +# NPC_GENERAL +# NPC_SHOUT +# NEW_TELL +# GLOBAL (&) +# Default: ALL;SHOUT;GLOBAL;TRADE;HERO_VOICE +BanChatChannels = GENERAL;SHOUT;GLOBAL;TRADE;HERO_VOICE # --------------------------------------------------------------------------- diff --git a/trunk/dist/game/data/Routes.xml b/trunk/dist/game/data/Routes.xml index ca2a0ffa26..c4a70bcff8 100644 --- a/trunk/dist/game/data/Routes.xml +++ b/trunk/dist/game/data/Routes.xml @@ -1236,30 +1236,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/trunk/dist/game/data/html/default/32777.htm b/trunk/dist/game/data/html/default/32777.htm index e39ef78c42..576e042527 100644 --- a/trunk/dist/game/data/html/default/32777.htm +++ b/trunk/dist/game/data/html/default/32777.htm @@ -1,4 +1,4 @@ -Zinnia Guild Superior Knight:
+Jinia Guild Battalion Leader:
That could have gone very wrong. If we were but a moment later... You would have been dead or worse! Maybe an ice statue in the Ice Queen's cellar!
\ No newline at end of file diff --git a/trunk/dist/game/data/html/default/32778.htm b/trunk/dist/game/data/html/default/32778.htm index 00c22c309b..a17ec82b7b 100644 --- a/trunk/dist/game/data/html/default/32778.htm +++ b/trunk/dist/game/data/html/default/32778.htm @@ -1,4 +1,4 @@ -Zinnia Guild Mercenary:
-Will you survive? You look like a dragon's chew toy.. Better get some rest, and maybe a bath friend.
+Jinia Guild Legionnaire:
+Will you survive? You look like a dragon's chew toy. Better get some rest, and maybe a bath friend.
\ No newline at end of file diff --git a/trunk/dist/game/data/html/pccafe.htm b/trunk/dist/game/data/html/pccafe.htm index 12c165cbd8..8441fb38c0 100644 --- a/trunk/dist/game/data/html/pccafe.htm +++ b/trunk/dist/game/data/html/pccafe.htm @@ -1,10 +1,10 @@ Player Commendation SystemPlayer Commendation Points:
You can use PC points to buy items.
-It is possible to buy several General Items, like hair accessories or even time-limited Apocalypse Weapons.
+It is possible to buy several General Items, like hair accessories or even time-limited Commendation Weapons.
Take a look on the current rewards.

- + \ No newline at end of file diff --git a/trunk/dist/game/data/instances/CavernOfThePirateCaptainWorldDay60.xml b/trunk/dist/game/data/instances/CavernOfThePirateCaptainWorldDay60.xml index 6459dac93c..57f2e1322d 100644 --- a/trunk/dist/game/data/instances/CavernOfThePirateCaptainWorldDay60.xml +++ b/trunk/dist/game/data/instances/CavernOfThePirateCaptainWorldDay60.xml @@ -9,4 +9,5 @@ + diff --git a/trunk/dist/game/data/instances/CavernOfThePirateCaptainWorldNight60.xml b/trunk/dist/game/data/instances/CavernOfThePirateCaptainWorldNight60.xml index 49539f1726..b3d5b4ee6d 100644 --- a/trunk/dist/game/data/instances/CavernOfThePirateCaptainWorldNight60.xml +++ b/trunk/dist/game/data/instances/CavernOfThePirateCaptainWorldNight60.xml @@ -9,4 +9,5 @@ + diff --git a/trunk/dist/game/data/instances/IceQueensCastleHardBattle.xml b/trunk/dist/game/data/instances/IceQueensCastleBattleEasy.xml similarity index 93% rename from trunk/dist/game/data/instances/IceQueensCastleHardBattle.xml rename to trunk/dist/game/data/instances/IceQueensCastleBattleEasy.xml index af7eb7ab2e..aceef7f6f7 100644 --- a/trunk/dist/game/data/instances/IceQueensCastleHardBattle.xml +++ b/trunk/dist/game/data/instances/IceQueensCastleBattleEasy.xml @@ -8,6 +8,7 @@ + diff --git a/trunk/dist/game/data/instances/IceQueensCastleNormalBattle.xml b/trunk/dist/game/data/instances/IceQueensCastleBattleHardcore.xml similarity index 74% rename from trunk/dist/game/data/instances/IceQueensCastleNormalBattle.xml rename to trunk/dist/game/data/instances/IceQueensCastleBattleHardcore.xml index af7eb7ab2e..a15e96a3df 100644 --- a/trunk/dist/game/data/instances/IceQueensCastleNormalBattle.xml +++ b/trunk/dist/game/data/instances/IceQueensCastleBattleHardcore.xml @@ -1,5 +1,5 @@ - + @@ -8,6 +8,7 @@ + diff --git a/trunk/dist/game/data/multisell/305986001.xml b/trunk/dist/game/data/multisell/305986001.xml deleted file mode 100644 index 8ca67dcf1f..0000000000 --- a/trunk/dist/game/data/multisell/305986001.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - 30598 - 30599 - 30600 - 30601 - 30602 - 31076 - 31077 - 32135 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/multisell/305986002.xml b/trunk/dist/game/data/multisell/305986002.xml deleted file mode 100644 index dd6f91851e..0000000000 --- a/trunk/dist/game/data/multisell/305986002.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - 30598 - 30599 - 30600 - 30601 - 30602 - 31076 - 31077 - 32135 - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts.cfg b/trunk/dist/game/data/scripts.cfg index 9a8655d87d..e1d4a30dd3 100644 --- a/trunk/dist/game/data/scripts.cfg +++ b/trunk/dist/game/data/scripts.cfg @@ -31,7 +31,6 @@ ai/npc/CastleSiegeManager/CastleSiegeManager.java ai/npc/CastleTeleporter/CastleTeleporter.java ai/npc/CastleWarehouse/CastleWarehouse.java ai/npc/ClanTrader/ClanTrader.java -ai/npc/Dorian/Dorian.java ai/npc/DragonVortex/DragonVortex.java ai/npc/FameManager/FameManager.java ai/npc/ForgeOfTheGods/ForgeOfTheGods.java @@ -51,7 +50,6 @@ ai/npc/Minigame/Minigame.java ai/npc/MonkOfChaos/MonkOfChaos.java ai/npc/MonumentOfHeroes/MonumentOfHeroes.java ai/npc/NpcBuffers/NpcBuffers.java -ai/npc/Oris/Oris.java ai/npc/Pantheon/Pantheon.java ai/npc/Proclaimer/Proclaimer.java ai/npc/Rignos/Rignos.java @@ -82,7 +80,6 @@ ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java ai/npc/Teleports/TeleportToUndergroundColiseum/TeleportToUndergroundColiseum.java ai/npc/Teleports/TeleportWithCharm/TeleportWithCharm.java ai/npc/Teleports/ToIVortex/ToIVortex.java -ai/npc/TownPets/TownPets.java ai/npc/Trainers/HealerTrainer/HealerTrainer.java ai/npc/Trandon/Trandon.java ai/npc/Tunatun/Tunatun.java @@ -120,7 +117,6 @@ ai/group_template/PolymorphingOnAttack.java ai/group_template/PrimevalIsle.java ai/group_template/PrisonGuards.java ai/group_template/RandomSpawn.java -ai/group_template/RangeGuard.java ai/group_template/Remnants.java ai/group_template/Sandstorms.java ai/group_template/SeeThroughSilentMove.java @@ -130,7 +126,6 @@ ai/group_template/SilentValley.java ai/group_template/StakatoNest.java ai/group_template/SummonPc.java ai/group_template/TurekOrcs.java -ai/group_template/VarkaKetra.java ai/group_template/WarriorFishingBlock.java # Individual @@ -141,19 +136,35 @@ ai/individual/Venom/Venom.java ai/individual/Anais.java ai/individual/Ballista.java ai/individual/Beleth.java +ai/individual/Banette.java +ai/individual/Bink.java ai/individual/CrimsonHatuOtis.java ai/individual/Core.java +ai/individual/Devno.java ai/individual/DarkWaterDragon.java ai/individual/DivineBeast.java ai/individual/DrChaos.java ai/individual/DrillSergeant.java +ai/individual/Eleve.java ai/individual/Epidos.java ai/individual/EvasGiftBox.java ai/individual/FrightenedRagnaOrc.java +ai/individual/Gagabu.java +ai/individual/Galad.java ai/individual/Gordon.java ai/individual/GraveRobbers.java +ai/individual/GuardSoldier.java +ai/individual/Handermonkey.java +ai/individual/Heymond.java +ai/individual/Holly.java +ai/individual/Karonf.java +ai/individual/Luderic.java +ai/individual/Lumi.java ai/individual/Mahram.java +ai/individual/Mai.java +ai/individual/MarinSmith.java ai/individual/Orfen.java +ai/individual/Oris.java ai/individual/QueenAnt.java ai/individual/QueenShyeed.java ai/individual/RagnaOrcCommander.java @@ -163,7 +174,11 @@ ai/individual/ScarletVanHalisha.java ai/individual/Shannon.java ai/individual/SinEater.java ai/individual/SinWardens.java +ai/individual/Sodian.java +ai/individual/Stiller.java ai/individual/Theodore.java +ai/individual/TomaJunior.java +ai/individual/TrainingGolem.java ai/individual/TrainningSoldier.java ai/individual/Valakas.java @@ -190,9 +205,6 @@ features/SkillTransfer/SkillTransfer.java # Custom custom/ShadowWeapons/ShadowWeapons.java -custom/NewbieCoupons/NewbieCoupons.java -custom/RaidbossInfo/RaidbossInfo.java -custom/NpcLocationInfo/NpcLocationInfo.java custom/FactionManager/FactionManager.java # Custom Events diff --git a/trunk/dist/game/data/scripts/ai/fantasy_isle/MC_Show.java b/trunk/dist/game/data/scripts/ai/fantasy_isle/MC_Show.java index e02226ecf9..73bce16010 100644 --- a/trunk/dist/game/data/scripts/ai/fantasy_isle/MC_Show.java +++ b/trunk/dist/game/data/scripts/ai/fantasy_isle/MC_Show.java @@ -28,11 +28,11 @@ import com.l2jserver.Config; import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.network.serverpackets.PlaySound; @@ -318,7 +318,7 @@ public class MC_Show extends AbstractNpcAI ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new StartMCShow(), diff, 14400000L); } - private void autoChat(L2Npc npc, NpcStringId npcString, int type) + private void autoChat(L2Npc npc, NpcStringId npcString, ChatType type) { npc.broadcastPacket(new NpcSay(npc.getObjectId(), type, npc.getId(), npcString)); } @@ -331,7 +331,7 @@ public class MC_Show extends AbstractNpcAI switch (npc.getId()) { case 32433: - autoChat(npc, MESSAGES[0], Say2.NPC_SHOUT); + autoChat(npc, MESSAGES[0], ChatType.NPC_SHOUT); startQuestTimer("1", 30000, npc, null); break; case 32431: @@ -383,7 +383,7 @@ public class MC_Show extends AbstractNpcAI // TODO switch on event if (event.equalsIgnoreCase("6")) { - autoChat(npc, MESSAGES[6], Say2.NPC_SHOUT); + autoChat(npc, MESSAGES[6], ChatType.NPC_SHOUT); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(-56511, -56647, -2008, 36863)); npc.broadcastPacket(new PlaySound(1, "NS22_F", 0, 0, 0, 0, 0)); addSpawn(SINGERS[0], -56344, -56328, -2008, 32768, false, 224000); @@ -400,7 +400,7 @@ public class MC_Show extends AbstractNpcAI switch (npc.getId()) { case 32433: - autoChat(npc, MESSAGES[7], Say2.NPC_SHOUT); + autoChat(npc, MESSAGES[7], ChatType.NPC_SHOUT); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(-56698, -56430, -2008, 32768)); startQuestTimer("8", 12000, npc, null); break; @@ -430,7 +430,7 @@ public class MC_Show extends AbstractNpcAI switch (npc.getId()) { case 32433: - autoChat(npc, MESSAGES[11], Say2.NPC_SHOUT); + autoChat(npc, MESSAGES[11], ChatType.NPC_SHOUT); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(-56698, -56430, -2008, 32768)); startQuestTimer("12", 5000, npc, null); break; @@ -446,7 +446,7 @@ public class MC_Show extends AbstractNpcAI } else if (event.equalsIgnoreCase("17")) { - autoChat(npc, MESSAGES[16], Say2.NPC_SHOUT); + autoChat(npc, MESSAGES[16], ChatType.NPC_SHOUT); startQuestTimer("social1", 2000, addSpawn(INDIVIDUALS[1], -56700, -56340, -2008, 32768, false, 32000), null); startQuestTimer("18", 9000, npc, null); } @@ -467,7 +467,7 @@ public class MC_Show extends AbstractNpcAI } else if (event.equalsIgnoreCase("28")) { - autoChat(npc, MESSAGES[23], Say2.NPC_ALL); + autoChat(npc, MESSAGES[23], ChatType.NPC_GENERAL); startQuestTimer("social1", 1, npc, null); } else if (event.equalsIgnoreCase("29")) @@ -492,7 +492,7 @@ public class MC_Show extends AbstractNpcAI final ShoutInfo si = talks.get(event); if (si != null) { - autoChat(npc, si.getNpcStringId(), Say2.NPC_SHOUT); + autoChat(npc, si.getNpcStringId(), ChatType.NPC_SHOUT); startQuestTimer(si.getNextEvent(), si.getTime(), npc, null); } } diff --git a/trunk/dist/game/data/scripts/ai/group_template/AdenReconstructorManager.java b/trunk/dist/game/data/scripts/ai/group_template/AdenReconstructorManager.java index cce0181202..026e8382cd 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/AdenReconstructorManager.java +++ b/trunk/dist/game/data/scripts/ai/group_template/AdenReconstructorManager.java @@ -20,10 +20,10 @@ package ai.group_template; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Aden Reconstructor Manager AI. @@ -40,7 +40,7 @@ public final class AdenReconstructorManager extends AbstractNpcAI private AdenReconstructorManager() { - super(AdenReconstructorManager.class.getSimpleName(), "ai/individual"); + super(AdenReconstructorManager.class.getSimpleName(), "ai/group_template"); addSpawnId(NPCS); } @@ -53,19 +53,19 @@ public final class AdenReconstructorManager extends AbstractNpcAI { case "SPAM_TEXT": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.THE_LAND_OF_ADEN_IS_IN_NEED_OF_MATERIALS_TO_REBUILD_FROM_SHILEN_S_DESTRUCTION); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.THE_LAND_OF_ADEN_IS_IN_NEED_OF_MATERIALS_TO_REBUILD_FROM_SHILEN_S_DESTRUCTION); startQuestTimer("SPAM_TEXT2", 1000, npc, null); break; } case "SPAM_TEXT2": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.PLEASE_DONATE_ANY_UNUSED_MATERIALS_YOU_HAVE_TO_HELP_REBUILD_ADEN); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.PLEASE_DONATE_ANY_UNUSED_MATERIALS_YOU_HAVE_TO_HELP_REBUILD_ADEN); startQuestTimer("SPAM_TEXT3", 1000, npc, null); break; } case "SPAM_TEXT3": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.YOU_LL_RECEIVE_A_GIFT_FOR_ANY_APPLICABLE_DONATION); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.YOU_LL_RECEIVE_A_GIFT_FOR_ANY_APPLICABLE_DONATION); break; } } diff --git a/trunk/dist/game/data/scripts/ai/group_template/FeedableBeasts.java b/trunk/dist/game/data/scripts/ai/group_template/FeedableBeasts.java index ba3f9e43b0..1971fc3d64 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/FeedableBeasts.java +++ b/trunk/dist/game/data/scripts/ai/group_template/FeedableBeasts.java @@ -26,6 +26,7 @@ import quests.Q00655_AGrandPlanForTamingWildBeasts.Q00655_AGrandPlanForTamingWil import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -441,7 +442,7 @@ public final class FeedableBeasts extends AbstractNpcAI if (getRandom(20) == 0) { NpcStringId message = NpcStringId.getNpcStringId(getRandom(2024, 2029)); - NpcSay packet = new NpcSay(nextNpc, 0, message); + NpcSay packet = new NpcSay(nextNpc, ChatType.NPC_GENERAL, message); if (message.getParamCount() > 0) // player name, $s1 { packet.addStringParameter(player.getName()); @@ -570,7 +571,7 @@ public final class FeedableBeasts extends AbstractNpcAI if (getRandom(20) == 0) { NpcStringId message = TEXT[growthLevel][getRandom(TEXT[growthLevel].length)]; - NpcSay packet = new NpcSay(npc, 0, message); + NpcSay packet = new NpcSay(npc, ChatType.NPC_GENERAL, message); if (message.getParamCount() > 0) // player name, $s1 { packet.addStringParameter(caster.getName()); @@ -598,7 +599,7 @@ public final class FeedableBeasts extends AbstractNpcAI { beast.onReceiveFood(); NpcStringId message = TAMED_TEXT[getRandom(TAMED_TEXT.length)]; - NpcSay packet = new NpcSay(npc, 0, message); + NpcSay packet = new NpcSay(npc, ChatType.NPC_GENERAL, message); if (message.getParamCount() > 0) { packet.addStringParameter(caster.getName()); diff --git a/trunk/dist/game/data/scripts/ai/group_template/GiantsCave.java b/trunk/dist/game/data/scripts/ai/group_template/GiantsCave.java index 3508a9de51..0f509c8bba 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/GiantsCave.java +++ b/trunk/dist/game/data/scripts/ai/group_template/GiantsCave.java @@ -20,11 +20,11 @@ package ai.group_template; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Giant's Cave AI. @@ -53,11 +53,11 @@ public final class GiantsCave extends AbstractNpcAI { if (npc.getId() == SCOUTS[0]) // Gamlin { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.INTRUDER_DETECTED); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.INTRUDER_DETECTED); } else { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.OH_GIANTS_AN_INTRUDER_HAS_BEEN_DISCOVERED); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.OH_GIANTS_AN_INTRUDER_HAS_BEEN_DISCOVERED); } for (L2Character characters : npc.getKnownList().getKnownCharactersInRadius(450)) @@ -95,11 +95,11 @@ public final class GiantsCave extends AbstractNpcAI npc.setScriptValue(1); if (getRandomBoolean()) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.YOU_GUYS_ARE_DETECTED); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.YOU_GUYS_ARE_DETECTED); } else { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.WHAT_KIND_OF_CREATURES_ARE_YOU); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.WHAT_KIND_OF_CREATURES_ARE_YOU); } startQuestTimer("ATTACK", 6000, npc, player); startQuestTimer("CLEAR", 120000, npc, null); @@ -111,4 +111,4 @@ public final class GiantsCave extends AbstractNpcAI { new GiantsCave(); } -} +} diff --git a/trunk/dist/game/data/scripts/ai/group_template/LairOfAntharas.java b/trunk/dist/game/data/scripts/ai/group_template/LairOfAntharas.java index a8437d033e..8e7aac5fd2 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/LairOfAntharas.java +++ b/trunk/dist/game/data/scripts/ai/group_template/LairOfAntharas.java @@ -20,11 +20,11 @@ package ai.group_template; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.ValidateLocation; /** @@ -82,7 +82,7 @@ public final class LairOfAntharas extends AbstractNpcAI { npc.setScriptValue(1); } - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.WHO_S_THERE_IF_YOU_DISTURB_THE_TEMPER_OF_THE_GREAT_LAND_DRAGON_ANTHARAS_I_WILL_NEVER_FORGIVE_YOU); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.WHO_S_THERE_IF_YOU_DISTURB_THE_TEMPER_OF_THE_GREAT_LAND_DRAGON_ANTHARAS_I_WILL_NEVER_FORGIVE_YOU); } return super.onAggroRangeEnter(npc, player, isSummon); } @@ -98,7 +98,7 @@ public final class LairOfAntharas extends AbstractNpcAI { final L2Npc newKnight = addSpawn(DRAGON_KNIGHT2, npc, false, 0, true); npc.deleteMe(); - broadcastNpcSay(newKnight, Say2.NPC_SHOUT, NpcStringId.THOSE_WHO_SET_FOOT_IN_THIS_PLACE_SHALL_NOT_LEAVE_ALIVE); + broadcastNpcSay(newKnight, ChatType.NPC_SHOUT, NpcStringId.THOSE_WHO_SET_FOOT_IN_THIS_PLACE_SHALL_NOT_LEAVE_ALIVE); addAttackPlayerDesire(newKnight, killer); } break; @@ -109,7 +109,7 @@ public final class LairOfAntharas extends AbstractNpcAI { final L2Npc eliteKnight = addSpawn(ELITE_DRAGON_KNIGHT, npc, false, 0, true); npc.deleteMe(); - broadcastNpcSay(eliteKnight, Say2.NPC_SHOUT, NpcStringId.IF_YOU_WISH_TO_SEE_HELL_I_WILL_GRANT_YOU_YOUR_WISH); + broadcastNpcSay(eliteKnight, ChatType.NPC_SHOUT, NpcStringId.IF_YOU_WISH_TO_SEE_HELL_I_WILL_GRANT_YOU_YOUR_WISH); addAttackPlayerDesire(eliteKnight, killer); } break; diff --git a/trunk/dist/game/data/scripts/ai/group_template/MinionSpawnManager.java b/trunk/dist/game/data/scripts/ai/group_template/MinionSpawnManager.java index 7c356ad93c..864aaa74ea 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/MinionSpawnManager.java +++ b/trunk/dist/game/data/scripts/ai/group_template/MinionSpawnManager.java @@ -23,12 +23,12 @@ import java.util.Set; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.holders.MinionHolder; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Minion Spawn Manager. @@ -441,7 +441,7 @@ public final class MinionSpawnManager extends AbstractNpcAI { addMinion((L2MonsterInstance) npc, is.getId()); } - broadcastNpcSay(npc, Say2.NPC_ALL, ON_ATTACK_MSG[getRandom(ON_ATTACK_MSG.length)]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, ON_ATTACK_MSG[getRandom(ON_ATTACK_MSG.length)]); } } } diff --git a/trunk/dist/game/data/scripts/ai/group_template/MonasteryOfSilence.java b/trunk/dist/game/data/scripts/ai/group_template/MonasteryOfSilence.java index cf8d577785..abe409ab4f 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/MonasteryOfSilence.java +++ b/trunk/dist/game/data/scripts/ai/group_template/MonasteryOfSilence.java @@ -21,6 +21,7 @@ package ai.group_template; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Character; @@ -30,7 +31,6 @@ import com.l2jserver.gameserver.model.effects.L2EffectType; import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Monastery of Silence AI. @@ -97,7 +97,7 @@ public final class MonasteryOfSilence extends AbstractNpcAI if ((character.getId() == CAPTAIN) && (getRandom(100) < 10) && npc.isScriptValue(0)) { final L2Npc captain = (L2Npc) character; - broadcastNpcSay(captain, Say2.NPC_ALL, SOLINA_KNIGHTS_MSG[getRandom(SOLINA_KNIGHTS_MSG.length)]); + broadcastNpcSay(captain, ChatType.NPC_GENERAL, SOLINA_KNIGHTS_MSG[getRandom(SOLINA_KNIGHTS_MSG.length)]); captain.setScriptValue(1); startQuestTimer("TIMER", 10000, captain, null); } @@ -162,7 +162,7 @@ public final class MonasteryOfSilence extends AbstractNpcAI npc.doCast(KNIGHT_BLESS.getSkill()); } npc.setScriptValue(1); - broadcastNpcSay(npc, Say2.ALL, NpcStringId.FOR_THE_GLORY_OF_SOLINA); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.FOR_THE_GLORY_OF_SOLINA); addAttackPlayerDesire(addSpawn(KNIGHT, npc), player); } break; @@ -254,7 +254,7 @@ public final class MonasteryOfSilence extends AbstractNpcAI if (!npc.isInCombat()) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.YOU_CANNOT_CARRY_A_WEAPON_WITHOUT_AUTHORIZATION); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.YOU_CANNOT_CARRY_A_WEAPON_WITHOUT_AUTHORIZATION); } addAttackPlayerDesire(npc, player); @@ -271,7 +271,7 @@ public final class MonasteryOfSilence extends AbstractNpcAI { if (obj.equals(npc)) { - broadcastNpcSay(npc, Say2.NPC_ALL, DIVINITY_MSG[getRandom(DIVINITY_MSG.length)], caster.getName()); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, DIVINITY_MSG[getRandom(DIVINITY_MSG.length)], caster.getName()); addAttackPlayerDesire(npc, caster); break; } diff --git a/trunk/dist/game/data/scripts/ai/group_template/PlainsOfDion.java b/trunk/dist/game/data/scripts/ai/group_template/PlainsOfDion.java index 7d6b7accce..b76630b4ea 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/PlainsOfDion.java +++ b/trunk/dist/game/data/scripts/ai/group_template/PlainsOfDion.java @@ -21,11 +21,11 @@ package ai.group_template; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.GeoData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.util.Util; /** @@ -71,11 +71,11 @@ public final class PlainsOfDion extends AbstractNpcAI final int i = getRandom(5); if (i < 2) { - broadcastNpcSay(npc, Say2.NPC_ALL, MONSTERS_MSG[i], player.getName()); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, MONSTERS_MSG[i], player.getName()); } else { - broadcastNpcSay(npc, Say2.NPC_ALL, MONSTERS_MSG[i]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, MONSTERS_MSG[i]); } for (L2Character obj : npc.getKnownList().getKnownCharactersInRadius(npc.getTemplate().getClanHelpRange())) @@ -84,7 +84,7 @@ public final class PlainsOfDion extends AbstractNpcAI { final L2Npc monster = (L2Npc) obj; addAttackPlayerDesire(monster, player); - broadcastNpcSay(monster, Say2.NPC_ALL, MONSTERS_ASSIST_MSG[getRandom(3)]); + broadcastNpcSay(monster, ChatType.NPC_GENERAL, MONSTERS_ASSIST_MSG[getRandom(3)]); } } npc.setScriptValue(1); diff --git a/trunk/dist/game/data/scripts/ai/group_template/PolymorphingOnAttack.java b/trunk/dist/game/data/scripts/ai/group_template/PolymorphingOnAttack.java index ade91134f1..4f9f3c597b 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/PolymorphingOnAttack.java +++ b/trunk/dist/game/data/scripts/ai/group_template/PolymorphingOnAttack.java @@ -26,12 +26,12 @@ import java.util.Map; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; /** @@ -98,7 +98,7 @@ public final class PolymorphingOnAttack extends AbstractNpcAI if (tmp.get(3) >= 0) { NpcStringId npcString = MOBTEXTS[tmp.get(3)][getRandom(MOBTEXTS[tmp.get(3)].length)]; - npc.broadcastPacket(new CreatureSay(npc.getObjectId(), Say2.NPC_ALL, npc.getName(), npcString)); + npc.broadcastPacket(new CreatureSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getName(), npcString)); } npc.deleteMe(); diff --git a/trunk/dist/game/data/scripts/ai/group_template/PrimevalIsle.java b/trunk/dist/game/data/scripts/ai/group_template/PrimevalIsle.java index ecc838201a..689d845954 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/PrimevalIsle.java +++ b/trunk/dist/game/data/scripts/ai/group_template/PrimevalIsle.java @@ -22,6 +22,7 @@ import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IItemHandler; import com.l2jserver.gameserver.handler.ItemHandler; import com.l2jserver.gameserver.model.Location; @@ -34,7 +35,6 @@ import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.items.instance.L2ItemInstance; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.util.Util; /** @@ -311,7 +311,7 @@ public final class PrimevalIsle extends AbstractNpcAI if (npc.isScriptValue(0)) { npc.setScriptValue(1); - broadcastNpcSay(npc, Say2.NPC_ALL, "?"); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, "?"); ((L2Attackable) npc).clearAggroList(); startQuestTimer("TREX_ATTACK", 6000, npc, player); } diff --git a/trunk/dist/game/data/scripts/ai/group_template/PrisonGuards.java b/trunk/dist/game/data/scripts/ai/group_template/PrisonGuards.java index 10fddab7b3..96b6fee785 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/PrisonGuards.java +++ b/trunk/dist/game/data/scripts/ai/group_template/PrisonGuards.java @@ -20,6 +20,7 @@ package ai.group_template; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -27,7 +28,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Prison Guards AI. @@ -94,7 +94,7 @@ public final class PrisonGuards extends AbstractNpcAI { npc.setTarget(player); npc.doCast(STONE.getSkill()); - broadcastNpcSay(npc, Say2.ALL, NpcStringId.IT_S_NOT_EASY_TO_OBTAIN); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.IT_S_NOT_EASY_TO_OBTAIN); } } else @@ -103,7 +103,7 @@ public final class PrisonGuards extends AbstractNpcAI { npc.setTarget(player); npc.doCast(STONE.getSkill()); - broadcastNpcSay(npc, Say2.ALL, NpcStringId.YOU_RE_OUT_OF_YOUR_MIND_COMING_HERE); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.YOU_RE_OUT_OF_YOUR_MIND_COMING_HERE); } } return super.onAttack(npc, player, damage, isSummon); diff --git a/trunk/dist/game/data/scripts/ai/group_template/RangeGuard.java b/trunk/dist/game/data/scripts/ai/group_template/RangeGuard.java deleted file mode 100644 index 79f424f19b..0000000000 --- a/trunk/dist/game/data/scripts/ai/group_template/RangeGuard.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package ai.group_template; - -import ai.npc.AbstractNpcAI; - -import com.l2jserver.gameserver.data.xml.impl.NpcData; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.L2Playable; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate; -import com.l2jserver.gameserver.model.holders.SkillHolder; -import com.l2jserver.gameserver.model.skills.Skill; -import com.l2jserver.gameserver.util.Util; - -/** - * Range Guard AI. - * @author St3eT. - */ -public final class RangeGuard extends AbstractNpcAI -{ - // Skill - private static SkillHolder ULTIMATE_DEFENSE = new SkillHolder(5044, 3); // NPC Ultimate Defense - //@formatter:off - private static final int[] NOT_ALLOWED_SKILLS = - { - 15, 28, // Charm / Aggression - 51, 65, // Lure / Horror - 106, 115, // Veil / Power Break - 122, 127, // Hex / Hamstring - 254, 352, // Spoil / Shield Bash - 353, 358, // Shield Slam / Bluff - 402, 403, // Arrest / Shackle - 412, 485, // Sand Bomb / Disarm - 501, 511, // Violent Temper / Temptation - 522, 531, // Real Target / Critical Wound - 680, 695, // Divine Knight Hate / Divine Wizard Divine Cloud - 696, 716, // Divine Wizard Surrender to Divine / Zaken Hold - 775, 792, // Weapon Blockade / Betrayal Mark - 1042, 1049, // Hold Undead / Requiem - 1069, 1071, // Sleep / Surrender To Water - 1072, 1074, // Sleeping Cloud / Surrender To Wind - 1083, 1097, // Surrender To Fire / Dreaming Spirit - 1092, 1064, // Fear / Silence - 1160, 1164, // Slow / Curse Weakness - 1169, 1170, // Curse Fear / Anchor - 1201, 1206, // Dryad Root / Wind Shackle - 1222, 1223, // Curse Chaos / Surrender To Earth - 1224, 1263, // Surrender To Poison / Curse Gloom - 1269, 1336, // Curse Disease / Curse of Doom - 1337, 1338, // Curse of Abyss / Arcane Chaos - 1358, 1359, // Block Shield / Block Wind Walk - 1386, 1394, // Arcane Disruption / Trance - 1396, 1445, // Magical BackFire / Surrender to Dark - 1446, 1447, // Shadow Bind / Voice Bind - 1481, 1482, // Oblivion / Weak Constitution - 1483, 1484, // Thin Skin / Enervation - 1485, 1486, // Spite / Mental Impoverish - 1511, 1524, // Curse of Life Flow / Surrender to the Divine - 1529, // Soul Web - }; - //@formatter:on - // Misc - private static final int MIN_DISTANCE = 150; - - private RangeGuard() - { - super(RangeGuard.class.getSimpleName(), "ai/group_template"); - - for (L2NpcTemplate template : NpcData.getInstance().getAllNpcOfClassType("L2Monster")) - { - if (template.getParameters().getInt("LongRangeGuardRate", -1) > 0) - { - addAttackId(template.getId()); - } - } - } - - @Override - public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon, Skill skill) - { - final L2Playable playable = (isSummon) ? attacker.getServitors().values().stream().findFirst().orElse(attacker.getPet()) : attacker; - final int longRangeGuardRate = npc.getTemplate().getParameters().getInt("LongRangeGuardRate"); - final double distance = Util.calculateDistance(npc, playable, true, false); - - if (npc.isAffectedBySkill(ULTIMATE_DEFENSE.getSkillId()) && (distance <= MIN_DISTANCE)) - { - npc.stopSkillEffects(true, ULTIMATE_DEFENSE.getSkillId()); - } - else if ((distance > MIN_DISTANCE) && !npc.isSkillDisabled(ULTIMATE_DEFENSE.getSkillId()) && !((skill != null) && Util.contains(NOT_ALLOWED_SKILLS, skill.getId())) && (getRandom(100) < longRangeGuardRate)) - { - npc.setTarget(npc); - npc.doCast(ULTIMATE_DEFENSE.getSkill()); - } - return super.onAttack(npc, attacker, damage, isSummon, skill); - } - - public static void main(String[] args) - { - new RangeGuard(); - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/group_template/SelMahumDrill.java b/trunk/dist/game/data/scripts/ai/group_template/SelMahumDrill.java index b657af2335..530c86906e 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/SelMahumDrill.java +++ b/trunk/dist/game/data/scripts/ai/group_template/SelMahumDrill.java @@ -22,6 +22,7 @@ import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.datatables.SpawnTable; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2Spawn; import com.l2jserver.gameserver.model.Location; @@ -29,7 +30,6 @@ import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.util.Util; /** @@ -233,7 +233,7 @@ public final class SelMahumDrill extends AbstractNpcAI { if (getRandom(4) < 1) { - broadcastNpcSay(receiver, Say2.NPC_ALL, SOLDIER_FSTRINGS[getRandom(2)]); + broadcastNpcSay(receiver, ChatType.NPC_GENERAL, SOLDIER_FSTRINGS[getRandom(2)]); } if (receiver.canBeAttacked()) { @@ -251,7 +251,7 @@ public final class SelMahumDrill extends AbstractNpcAI { if (Util.contains(MAHUM_CHIEFS, receiver.getId())) { - broadcastNpcSay(receiver, Say2.NPC_ALL, CHIEF_FSTRINGS[getRandom(2)]); + broadcastNpcSay(receiver, ChatType.NPC_GENERAL, CHIEF_FSTRINGS[getRandom(2)]); } break; } diff --git a/trunk/dist/game/data/scripts/ai/group_template/SelMahumSquad.java b/trunk/dist/game/data/scripts/ai/group_template/SelMahumSquad.java index 62d89651b5..bb71318ca9 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/SelMahumSquad.java +++ b/trunk/dist/game/data/scripts/ai/group_template/SelMahumSquad.java @@ -23,6 +23,7 @@ import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.datatables.SkillData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -30,7 +31,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.util.Util; /** @@ -230,7 +230,7 @@ public final class SelMahumSquad extends AbstractNpcAI final L2Npc stove = addSpawn(STOVE, receiver.getX(), receiver.getY(), receiver.getZ() + 100, 0, false, 0); stove.setSummoner(receiver); startQuestTimer("notify_dinner", 2000, receiver, null); // @SCE_DINNER_EAT - broadcastNpcSay(sender, Say2.NPC_ALL, CHEF_FSTRINGS[getRandom(2)], 1250); + broadcastNpcSay(sender, ChatType.NPC_GENERAL, CHEF_FSTRINGS[getRandom(2)], 1250); } break; } @@ -275,7 +275,7 @@ public final class SelMahumSquad extends AbstractNpcAI receiver.setIsNoRndWalk(true); // Moving to fire - i_ai0 = 1 receiver.getVariables().set("BUSY_STATE", 1); // Eating - i_ai3 = 1 receiver.setIsRunning(true); - broadcastNpcSay(receiver, Say2.NPC_ALL, (getRandom(3) < 1) ? NpcStringId.LOOKS_DELICIOUS : NpcStringId.LET_S_GO_EAT); + broadcastNpcSay(receiver, ChatType.NPC_GENERAL, (getRandom(3) < 1) ? NpcStringId.LOOKS_DELICIOUS : NpcStringId.LET_S_GO_EAT); final Location loc = sender.getPointInRange(100, 200); loc.setHeading(receiver.getHeading()); receiver.stopMove(null); diff --git a/trunk/dist/game/data/scripts/ai/group_template/SilentValley.java b/trunk/dist/game/data/scripts/ai/group_template/SilentValley.java index 748be55017..71daab7556 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/SilentValley.java +++ b/trunk/dist/game/data/scripts/ai/group_template/SilentValley.java @@ -20,6 +20,7 @@ package ai.group_template; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -27,7 +28,6 @@ import com.l2jserver.gameserver.model.actor.L2Summon; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Silent Valley AI @@ -104,7 +104,7 @@ public final class SilentValley extends AbstractNpcAI if (!isSummon && npc.isScriptValue(0)) { npc.setScriptValue(1); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.YOU_WILL_BE_CURSED_FOR_SEEKING_THE_TREASURE); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.YOU_WILL_BE_CURSED_FOR_SEEKING_THE_TREASURE); npc.setTarget(player); npc.doCast(BETRAYAL.getSkill()); } diff --git a/trunk/dist/game/data/scripts/ai/group_template/TurekOrcs.java b/trunk/dist/game/data/scripts/ai/group_template/TurekOrcs.java index c29e2c5ad1..f1a3622b7e 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/TurekOrcs.java +++ b/trunk/dist/game/data/scripts/ai/group_template/TurekOrcs.java @@ -21,6 +21,7 @@ package ai.group_template; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.Location; @@ -83,7 +84,7 @@ public final class TurekOrcs extends AbstractNpcAI else if ((npc.getCurrentHp() < (npc.getMaxHp() * 0.5)) && (npc.getCurrentHp() > (npc.getMaxHp() * 0.3)) && (attacker.getCurrentHp() > (attacker.getMaxHp() * 0.25)) && npc.hasAIValue("fleeX") && npc.hasAIValue("fleeY") && npc.hasAIValue("fleeZ") && (npc.getVariables().getInt("state") == 0) && (getRandom(100) < 10)) { // Say and flee - broadcastNpcSay(npc, 0, NpcStringId.getNpcStringId(getRandom(1000007, 1000027))); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.getNpcStringId(getRandom(1000007, 1000027))); npc.disableCoreAI(true); // to avoid attacking behaviour, while flee npc.setIsRunning(true); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(npc.getAIValue("fleeX"), npc.getAIValue("fleeY"), npc.getAIValue("fleeZ"))); diff --git a/trunk/dist/game/data/scripts/ai/group_template/VarkaKetra.java b/trunk/dist/game/data/scripts/ai/group_template/VarkaKetra.java deleted file mode 100644 index d957b129d5..0000000000 --- a/trunk/dist/game/data/scripts/ai/group_template/VarkaKetra.java +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package ai.group_template; - -import quests.Q00605_AllianceWithKetraOrcs.Q00605_AllianceWithKetraOrcs; -import quests.Q00606_BattleAgainstVarkaSilenos.Q00606_BattleAgainstVarkaSilenos; -import quests.Q00607_ProveYourCourageKetra.Q00607_ProveYourCourageKetra; -import quests.Q00608_SlayTheEnemyCommanderKetra.Q00608_SlayTheEnemyCommanderKetra; -import quests.Q00609_MagicalPowerOfWaterPart1.Q00609_MagicalPowerOfWaterPart1; -import quests.Q00610_MagicalPowerOfWaterPart2.Q00610_MagicalPowerOfWaterPart2; -import quests.Q00611_AllianceWithVarkaSilenos.Q00611_AllianceWithVarkaSilenos; -import quests.Q00612_BattleAgainstKetraOrcs.Q00612_BattleAgainstKetraOrcs; -import quests.Q00613_ProveYourCourageVarka.Q00613_ProveYourCourageVarka; -import quests.Q00614_SlayTheEnemyCommanderVarka.Q00614_SlayTheEnemyCommanderVarka; -import quests.Q00615_MagicalPowerOfFirePart1.Q00615_MagicalPowerOfFirePart1; -import quests.Q00616_MagicalPowerOfFirePart2.Q00616_MagicalPowerOfFirePart2; -import ai.npc.AbstractNpcAI; - -import com.l2jserver.gameserver.model.actor.L2Attackable; -import com.l2jserver.gameserver.model.actor.L2Character; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.util.Util; - -/** - * Varka Silenos Barracks and Ketra Orc Outpost AI - * @author malyelfik - */ -public class VarkaKetra extends AbstractNpcAI -{ - // Monsters - private static final int[] KETRA = - { - 21324, // Ketra Orc Footman - 21325, // Ketra's War Hound - 21327, // Ketra Orc Raider - 21328, // Ketra Orc Scout - 21329, // Ketra Orc Shaman - 21331, // Ketra Orc Warrior - 21332, // Ketra Orc Lieutenant - 21334, // Ketra Orc Medium - 21336, // Ketra Orc White Captain - 21338, // Ketra Orc Seer - 21339, // Ketra Orc General - 21340, // Ketra Orc Battalion Commander - 21342, // Ketra Orc Grand Seer - 21343, // Ketra Commander - 21344, // Ketra Elite Guard - 21345, // Ketra's Head Shaman - 21346, // Ketra's Head Guard - 21347, // Ketra Prophet - 21348, // Prophet's Guard - 21349, // Prophet's Aide - 25299, // Ketra's Hero Hekaton (Raid Boss) - 25302, // Ketra's Commander Tayr (Raid Boss) - 25305, // Ketra's Chief Brakki (Raid Boss) - 25306, // Soul of Fire Nastron (Raid Boss) - }; - private static final int[] VARKA = - { - 21350, // Varka Silenos Recruit - 21351, // Varka Silenos Footman - 21353, // Varka Silenos Scout - 21354, // Varka Silenos Hunter - 21355, // Varka Silenos Shaman - 21357, // Varka Silenos Priest - 21358, // Varka Silenos Warrior - 21360, // Varka Silenos Medium - 21361, // Varka Silenos Magus - 21362, // Varka Silenos Officer - 21364, // Varka Silenos Seer - 21365, // Varka Silenos Great Magus - 21366, // Varka Silenos General - 21368, // Varka Silenos Great Seer - 21369, // Varka's Commander - 21370, // Varka's Elite Guard - 21371, // Varka's Head Magus - 21372, // Varka's Head Guard - 21373, // Varka's Prophet - 21374, // Prophet's Guard - 21375, // Disciple of Prophet - 25309, // Varka's Hero Shadith (Raid Boss) - 25312, // Varka's Commander Mos (Raid Boss) - 25315, // Varka's Chief Horus (Raid Boss) - 25316, // Soul of Water Ashutar (Raid Boss) - }; - // Items - private static final int[] KETRA_MARKS = - { - 7211, // Mark of Ketra's Alliance - Level 1 - 7212, // Mark of Ketra's Alliance - Level 2 - 7213, // Mark of Ketra's Alliance - Level 3 - 7214, // Mark of Ketra's Alliance - Level 4 - 7215, // Mark of Ketra's Alliance - Level 5 - }; - private static final int[] VARKA_MARKS = - { - 7221, // Mark of Varka's Alliance - Level 1 - 7222, // Mark of Varka's Alliance - Level 2 - 7223, // Mark of Varka's Alliance - Level 3 - 7224, // Mark of Varka's Alliance - Level 4 - 7225, // Mark of Varka's Alliance - Level 5 - }; - // Quests - private static final String[] KETRA_QUESTS = - { - Q00605_AllianceWithKetraOrcs.class.getSimpleName(), - Q00606_BattleAgainstVarkaSilenos.class.getSimpleName(), - Q00607_ProveYourCourageKetra.class.getSimpleName(), - Q00608_SlayTheEnemyCommanderKetra.class.getSimpleName(), - Q00609_MagicalPowerOfWaterPart1.class.getSimpleName(), - Q00610_MagicalPowerOfWaterPart2.class.getSimpleName() - }; - private static final String[] VARKA_QUESTS = - { - Q00611_AllianceWithVarkaSilenos.class.getSimpleName(), - Q00612_BattleAgainstKetraOrcs.class.getSimpleName(), - Q00613_ProveYourCourageVarka.class.getSimpleName(), - Q00614_SlayTheEnemyCommanderVarka.class.getSimpleName(), - Q00615_MagicalPowerOfFirePart1.class.getSimpleName(), - Q00616_MagicalPowerOfFirePart2.class.getSimpleName() - }; - - private VarkaKetra() - { - super(VarkaKetra.class.getSimpleName(), "ai/group_template"); - addKillId(KETRA); - addKillId(VARKA); - addNpcHateId(KETRA); - addNpcHateId(VARKA); - } - - @Override - public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) - { - if (Util.checkIfInRange(1500, player, npc, false)) - { - if (Util.contains(KETRA, npc.getId()) && hasAtLeastOneQuestItem(player, KETRA_MARKS)) - { - decreaseAlliance(player, KETRA_MARKS); - exitQuests(player, KETRA_QUESTS); - } - else if (Util.contains(VARKA, npc.getId()) && hasAtLeastOneQuestItem(player, VARKA_MARKS)) - { - decreaseAlliance(player, VARKA_MARKS); - exitQuests(player, VARKA_QUESTS); - } - } - } - - private final void decreaseAlliance(L2PcInstance player, int[] marks) - { - for (int i = 0; i < marks.length; i++) - { - if (hasQuestItems(player, marks[i])) - { - takeItems(player, marks[i], -1); - if (i > 0) - { - giveItems(player, marks[i - 1], 1); - } - return; - } - } - } - - private final void exitQuests(L2PcInstance player, String[] quests) - { - for (String quest : quests) - { - final QuestState qs = player.getQuestState(quest); - if ((qs != null) && qs.isStarted()) - { - qs.exitQuest(true); - } - } - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - executeForEachPlayer(killer, npc, isSummon, true, false); - return super.onKill(npc, killer, isSummon); - } - - @Override - public boolean onNpcHate(L2Attackable mob, L2PcInstance player, boolean isSummon) - { - return stopAttack(player, mob) ? false : super.onNpcHate(mob, player, isSummon); - } - - private final boolean stopAttack(L2PcInstance player, L2Character monster) - { - return (Util.contains(KETRA, monster.getId()) && hasAtLeastOneQuestItem(player, KETRA_MARKS)) || (Util.contains(VARKA, monster.getId()) && hasAtLeastOneQuestItem(player, VARKA_MARKS)); - } - - public static void main(String[] args) - { - new VarkaKetra(); - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/group_template/WarriorFishingBlock.java b/trunk/dist/game/data/scripts/ai/group_template/WarriorFishingBlock.java index 4a3a8b3529..89dfcd3f93 100644 --- a/trunk/dist/game/data/scripts/ai/group_template/WarriorFishingBlock.java +++ b/trunk/dist/game/data/scripts/ai/group_template/WarriorFishingBlock.java @@ -21,12 +21,12 @@ package ai.group_template; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlEvent; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Warrior Fishing Block AI. @@ -92,7 +92,7 @@ public final class WarriorFishingBlock extends AbstractNpcAI else { final L2PcInstance target = obj.getActingPlayer(); - broadcastNpcSay(npc, Say2.NPC_ALL, NPC_STRINGS_ON_SPAWN[getRandom(NPC_STRINGS_ON_SPAWN.length)], target.getName()); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NPC_STRINGS_ON_SPAWN[getRandom(NPC_STRINGS_ON_SPAWN.length)], target.getName()); ((L2Attackable) npc).addDamageHate(target, 0, 2000); npc.getAI().notifyEvent(CtrlEvent.EVT_ATTACKED, target); npc.addAttackerToAttackByList(target); @@ -115,7 +115,7 @@ public final class WarriorFishingBlock extends AbstractNpcAI { if (getRandom(100) < CHANCE_TO_SHOUT_ON_ATTACK) { - broadcastNpcSay(npc, Say2.NPC_ALL, NPC_STRINGS_ON_ATTACK[getRandom(NPC_STRINGS_ON_ATTACK.length)]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NPC_STRINGS_ON_ATTACK[getRandom(NPC_STRINGS_ON_ATTACK.length)]); } return super.onAttack(npc, attacker, damage, isSummon); } @@ -123,7 +123,7 @@ public final class WarriorFishingBlock extends AbstractNpcAI @Override public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) { - broadcastNpcSay(npc, Say2.NPC_ALL, NPC_STRINGS_ON_KILL[getRandom(NPC_STRINGS_ON_KILL.length)]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NPC_STRINGS_ON_KILL[getRandom(NPC_STRINGS_ON_KILL.length)]); cancelQuestTimer("DESPAWN", npc, killer); return super.onKill(npc, killer, isSummon); } diff --git a/trunk/dist/game/data/scripts/ai/individual/Baium/Baium.java b/trunk/dist/game/data/scripts/ai/individual/Baium/Baium.java index b3331294e4..c08c045abc 100644 --- a/trunk/dist/game/data/scripts/ai/individual/Baium/Baium.java +++ b/trunk/dist/game/data/scripts/ai/individual/Baium/Baium.java @@ -23,6 +23,7 @@ import ai.npc.AbstractNpcAI; import com.l2jserver.Config; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.enums.CategoryType; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.MountType; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; @@ -39,7 +40,6 @@ import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.model.variables.NpcVariables; import com.l2jserver.gameserver.model.zone.type.L2NoRestartZone; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.Earthquake; import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage; import com.l2jserver.gameserver.network.serverpackets.PlaySound; @@ -266,7 +266,7 @@ public final class Baium extends AbstractNpcAI if ((player != null) && player.isInsideRadius(npc, 16000, true, false)) { zone.broadcastPacket(new SocialAction(npc.getObjectId(), 1)); - broadcastNpcSay(npc, Say2.NPC_ALL, player.getName() + ", How dare you wake me! Now you shall die!"); // TODO: replace with NpcStringId when are done core support + broadcastNpcSay(npc, ChatType.NPC_GENERAL, player.getName() + ", How dare you wake me! Now you shall die!"); // TODO: replace with NpcStringId when are done core support npc.setTarget(player); npc.doCast(BAIUM_PRESENT.getSkill()); } diff --git a/trunk/dist/game/data/scripts/ai/individual/Banette.java b/trunk/dist/game/data/scripts/ai/individual/Banette.java new file mode 100644 index 0000000000..fae3ff3f38 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/Banette.java @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Banette AI. + * @author Gladicek + */ +public final class Banette extends AbstractNpcAI +{ + // NPCs + private static final int BANETTE = 33114; + // Misc + private static final NpcStringId[] BANETTE_SHOUT = + { + NpcStringId.TRAINING_GROUND_IS_LOCATED_STRAIGHT_AHEAD, + NpcStringId.WHILE_TRAINING_IN_THE_TRAINING_GROUNDS_IT_BECOMES_PROGRESSIVELY_DIFFICULT, + NpcStringId.TRAINING_GROUNDS_ACCESS_YOU_NEED_TO_SPEAK_WITH_PANTHEON_IN_THE_MUSEUM + }; + + private Banette() + { + super(Banette.class.getSimpleName(), "ai/individual"); + addSpawnId(BANETTE); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAM_TEXT") && (npc != null)) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, BANETTE_SHOUT[getRandom(3)], 1000); + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 5000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Banette(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/Beleth.java b/trunk/dist/game/data/scripts/ai/individual/Beleth.java index 7c830a7da1..79ca45482b 100644 --- a/trunk/dist/game/data/scripts/ai/individual/Beleth.java +++ b/trunk/dist/game/data/scripts/ai/individual/Beleth.java @@ -29,6 +29,7 @@ import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.cache.HtmCache; import com.l2jserver.gameserver.data.xml.impl.DoorData; import com.l2jserver.gameserver.data.xml.impl.NpcData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.L2Object; @@ -496,7 +497,7 @@ public final class Beleth extends AbstractNpcAI { fakeBeleth = MINIONS.get(getRandom(MINIONS.size())); } - ZONE.broadcastPacket(new CreatureSay(fakeBeleth.getObjectId(), 0, fakeBeleth.getName(), "Miss text.")); + ZONE.broadcastPacket(new CreatureSay(fakeBeleth.getObjectId(), ChatType.NPC_GENERAL, fakeBeleth.getName(), "Miss text.")); } if (getRandom(100) < 40) { diff --git a/trunk/dist/game/data/scripts/ai/individual/Bink.java b/trunk/dist/game/data/scripts/ai/individual/Bink.java new file mode 100644 index 0000000000..0e3b90ef58 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/Bink.java @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Bink AI. + * @author Gladicek + */ +public final class Bink extends AbstractNpcAI +{ + // NPCs + private static final int BINK = 33223; + + private Bink() + { + super(Bink.class.getSimpleName(), "ai/individual"); + addSpawnId(BINK); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAM_TEXT") && (npc != null)) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.TALKING_ISLAND_VILLAGE_IS_REALLY_BEAUTIFUL, 1000); + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 10000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Bink(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/Core.java b/trunk/dist/game/data/scripts/ai/individual/Core.java index a028722087..4e6813f6c6 100644 --- a/trunk/dist/game/data/scripts/ai/individual/Core.java +++ b/trunk/dist/game/data/scripts/ai/individual/Core.java @@ -24,6 +24,7 @@ import javolution.util.FastList; import ai.npc.AbstractNpcAI; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.model.StatsSet; import com.l2jserver.gameserver.model.actor.L2Attackable; @@ -31,7 +32,6 @@ import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.network.serverpackets.PlaySound; @@ -177,14 +177,14 @@ public final class Core extends AbstractNpcAI { if (getRandom(100) == 0) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.REMOVING_INTRUDERS)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.REMOVING_INTRUDERS)); } } else { _FirstAttacked = true; - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.A_NON_PERMITTED_TARGET_HAS_BEEN_DISCOVERED)); - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.INTRUDER_REMOVAL_SYSTEM_INITIATED)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.A_NON_PERMITTED_TARGET_HAS_BEEN_DISCOVERED)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.INTRUDER_REMOVAL_SYSTEM_INITIATED)); } } return super.onAttack(npc, attacker, damage, isSummon); @@ -198,9 +198,9 @@ public final class Core extends AbstractNpcAI { int objId = npc.getObjectId(); npc.broadcastPacket(new PlaySound(1, "BS02_D", 1, objId, npc.getX(), npc.getY(), npc.getZ())); - npc.broadcastPacket(new NpcSay(objId, Say2.NPC_ALL, npcId, NpcStringId.A_FATAL_ERROR_HAS_OCCURRED)); - npc.broadcastPacket(new NpcSay(objId, Say2.NPC_ALL, npcId, NpcStringId.SYSTEM_IS_BEING_SHUT_DOWN)); - npc.broadcastPacket(new NpcSay(objId, Say2.NPC_ALL, npcId, NpcStringId.EMPTY)); + npc.broadcastPacket(new NpcSay(objId, ChatType.NPC_GENERAL, npcId, NpcStringId.A_FATAL_ERROR_HAS_OCCURRED)); + npc.broadcastPacket(new NpcSay(objId, ChatType.NPC_GENERAL, npcId, NpcStringId.SYSTEM_IS_BEING_SHUT_DOWN)); + npc.broadcastPacket(new NpcSay(objId, ChatType.NPC_GENERAL, npcId, NpcStringId.EMPTY)); _FirstAttacked = false; GrandBossManager.getInstance().setBossStatus(CORE, DEAD); // Calculate Min and Max respawn times randomly. diff --git a/trunk/dist/game/data/scripts/ai/individual/CrimsonHatuOtis.java b/trunk/dist/game/data/scripts/ai/individual/CrimsonHatuOtis.java index 4a766836c9..ea19963e48 100644 --- a/trunk/dist/game/data/scripts/ai/individual/CrimsonHatuOtis.java +++ b/trunk/dist/game/data/scripts/ai/individual/CrimsonHatuOtis.java @@ -20,11 +20,11 @@ package ai.individual; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * AI for Kamaloka (33) - Crimson Hatu Otis @@ -85,7 +85,7 @@ public final class CrimsonHatuOtis extends AbstractNpcAI } else if (npc.isScriptValue(1) && (npc.getCurrentHp() < (npc.getMaxHp() * 0.3))) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.I_VE_HAD_IT_UP_TO_HERE_WITH_YOU_I_LL_TAKE_CARE_OF_YOU); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.I_VE_HAD_IT_UP_TO_HERE_WITH_YOU_I_LL_TAKE_CARE_OF_YOU); npc.setScriptValue(2); startQuestTimer("BUFF", 1000, npc, null); } diff --git a/trunk/dist/game/data/scripts/ai/individual/Devno.java b/trunk/dist/game/data/scripts/ai/individual/Devno.java new file mode 100644 index 0000000000..ac5bc57bc3 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/Devno.java @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.Location; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Devno AI. + * @author Gladicek + */ +public final class Devno extends AbstractNpcAI +{ + // NPC + private static final int DEVNO = 33241; + // Misc + private static final NpcStringId[] DEVNO_SHOUT = + { + NpcStringId.CARRY_OUT_YOUR_QUESTS_FAITHFULLY_IN_TALKING_ISLAND_AND_YOU_LL_GET_TO_THE_1ST_CLASS_TRANSFER_IN_NO_TIME, + NpcStringId.I_SEE_THAT_ADVENTURERS_ARE_RETURNING_TO_TALKING_ISLAND_FOR_THE_AWAKENING, + NpcStringId.YOU_CAN_SEE_VARIOUS_STATISTICS_IN_THE_MUSEUM_STATS_IN_THE_MAIN_MENU + }; + private final static Location[] DEVNO_LOC = + { + new Location(-114448, 259106, -1203), + new Location(-114565, 258686, -1203), + new Location(-115047, 258883, -1204), + new Location(-114904, 259038, -1203), + new Location(-114673, 258981, -1203), + new Location(-114595, 259277, -1203), + new Location(-114866, 259350, -1203), + new Location(-114601, 258926, -1203), + new Location(-114702, 259080, -1203), + new Location(-114973, 259306, -1203), + }; + + private Devno() + { + super(Devno.class.getSimpleName(), "ai/individual"); + addSpawnId(DEVNO); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equalsIgnoreCase("npc_move") && (npc != null)) + { + if (getRandom(100) > 40) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, DEVNO_SHOUT[getRandom(3)], 1000); + addMoveToDesire(npc, DEVNO_LOC[getRandom(10)], 0); + } + else + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, DEVNO_SHOUT[getRandom(3)], 1000); + } + } + return null; + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("npc_move", 10000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Devno(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/DrChaos.java b/trunk/dist/game/data/scripts/ai/individual/DrChaos.java index 7db38b1eac..c8d9b35144 100644 --- a/trunk/dist/game/data/scripts/ai/individual/DrChaos.java +++ b/trunk/dist/game/data/scripts/ai/individual/DrChaos.java @@ -21,13 +21,13 @@ package ai.individual; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.StatsSet; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.PlaySound; import com.l2jserver.gameserver.network.serverpackets.SocialAction; import com.l2jserver.gameserver.network.serverpackets.SpecialCamera; @@ -190,7 +190,7 @@ public class DrChaos extends AbstractNpcAI // Make him speak. if (_pissedOffTimer == 15) { - broadcastNpcSay(npc, Say2.NPC_ALL, "How dare you trespass into my territory! Have you no fear?"); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, "How dare you trespass into my territory! Have you no fear?"); } // That was "too much" for that time. @@ -251,7 +251,7 @@ public class DrChaos extends AbstractNpcAI public String onKill(L2Npc npc, L2PcInstance player, boolean isPet) { cancelQuestTimer("golem_despawn", npc, null); - broadcastNpcSay(npc, Say2.NPC_ALL, "Urggh! You will pay dearly for this insult."); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, "Urggh! You will pay dearly for this insult."); // "lock" Dr. Chaos for regular RB time (36H fixed +- 24H random) long respawnTime = (36 + Rnd.get(-24, 24)) * 3600000; @@ -290,7 +290,7 @@ public class DrChaos extends AbstractNpcAI } // Make him speak. - broadcastNpcSay(npc, Say2.NPC_ALL, message); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, message); } return null; } @@ -311,7 +311,7 @@ public class DrChaos extends AbstractNpcAI // Makes the NPC moves near the Strange Box speaking. npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(96323, -110914, -3328, 0)); - broadcastNpcSay(npc, Say2.NPC_ALL, "Fools! Why haven't you fled yet? Prepare to learn a lesson!"); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, "Fools! Why haven't you fled yet? Prepare to learn a lesson!"); // Delayed animation timers. startQuestTimer("1", 2000, npc, null, false); // 2 secs, time to launch dr.C anim 2. Cam 1 on. diff --git a/trunk/dist/game/data/scripts/ai/individual/Eleve.java b/trunk/dist/game/data/scripts/ai/individual/Eleve.java new file mode 100644 index 0000000000..d4c284c5c6 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/Eleve.java @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.Location; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Eleve AI. + * @author Gladicek + */ +public final class Eleve extends AbstractNpcAI +{ + // NPC + private static final int ELEVE = 33246; + // Misc + private static final NpcStringId[] ELEVE_SHOUT = + { + NpcStringId.DON_T_KNOW_WHAT_TO_DO_LOOK_AT_THE_MAP, + NpcStringId.DO_YOU_SEE_A_SCROLL_ICON_GO_THAT_LOCATION + }; + private final static Location[] ELEVE_LOC = + { + new Location(-114936, 259918, -1203), + new Location(-114687, 259872, -1203), + new Location(-114552, 259699, -1203), + new Location(-114689, 259453, -1203), + new Location(-114990, 259335, -1203), + new Location(-115142, 259523, -1203), + new Location(-114894, 259137, -1203), + new Location(-114832, 259363, -1203), + new Location(-114809, 259260, -1203), + new Location(-115036, 260006, -1203), + }; + + private Eleve() + { + super(Eleve.class.getSimpleName(), "ai/individual"); + addSpawnId(ELEVE); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equalsIgnoreCase("npc_move") && (npc != null)) + { + if (getRandom(100) > 40) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, ELEVE_SHOUT[getRandom(2)], 1000); + addMoveToDesire(npc, ELEVE_LOC[getRandom(10)], 0); + } + else + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, ELEVE_SHOUT[getRandom(2)], 1000); + } + } + return null; + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("npc_move", 6000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Eleve(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/FrightenedRagnaOrc.java b/trunk/dist/game/data/scripts/ai/individual/FrightenedRagnaOrc.java index e06177c9be..f93040f836 100644 --- a/trunk/dist/game/data/scripts/ai/individual/FrightenedRagnaOrc.java +++ b/trunk/dist/game/data/scripts/ai/individual/FrightenedRagnaOrc.java @@ -21,6 +21,7 @@ package ai.individual; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -28,7 +29,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.itemcontainer.Inventory; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Frightened Ragna Orc AI. @@ -64,7 +64,7 @@ public final class FrightenedRagnaOrc extends AbstractNpcAI else if ((npc.getCurrentHp() < (npc.getMaxHp() * 0.2)) && npc.isScriptValue(1)) { startQuestTimer("reward", 10000, npc, attacker); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.WAIT_WAIT_STOP_SAVE_ME_AND_I_LL_GIVE_YOU_10_000_000_ADENA); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.WAIT_WAIT_STOP_SAVE_ME_AND_I_LL_GIVE_YOU_10_000_000_ADENA); npc.setScriptValue(2); } return super.onAttack(npc, attacker, damage, isSummon); @@ -74,7 +74,7 @@ public final class FrightenedRagnaOrc extends AbstractNpcAI public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) { final NpcStringId msg = getRandomBoolean() ? NpcStringId.UGH_A_CURSE_UPON_YOU : NpcStringId.I_REALLY_DIDN_T_WANT_TO_FIGHT; - broadcastNpcSay(npc, Say2.NPC_ALL, msg); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, msg); cancelQuestTimer("say", npc, null); cancelQuestTimer("reward", npc, player); return super.onKill(npc, player, isSummon); @@ -93,7 +93,7 @@ public final class FrightenedRagnaOrc extends AbstractNpcAI return null; } final NpcStringId msg = getRandomBoolean() ? NpcStringId.I_DON_T_WANT_TO_FIGHT : NpcStringId.IS_THIS_REALLY_NECESSARY; - broadcastNpcSay(npc, Say2.NPC_ALL, msg); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, msg); break; } case "reward": @@ -103,7 +103,7 @@ public final class FrightenedRagnaOrc extends AbstractNpcAI if (getRandom(100000) < CHANCE2) { final NpcStringId msg = getRandomBoolean() ? NpcStringId.TH_THANKS_I_COULD_HAVE_BECOME_GOOD_FRIENDS_WITH_YOU : NpcStringId.I_LL_GIVE_YOU_10_000_000_ADENA_LIKE_I_PROMISED_I_MIGHT_BE_AN_ORC_WHO_KEEPS_MY_PROMISES; - broadcastNpcSay(npc, Say2.NPC_ALL, msg); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, msg); npc.setScriptValue(3); npc.doCast(SKILL.getSkill()); for (int i = 0; i < 10; i++) @@ -114,7 +114,7 @@ public final class FrightenedRagnaOrc extends AbstractNpcAI else if (getRandom(100000) < CHANCE) { final NpcStringId msg = getRandomBoolean() ? NpcStringId.TH_THANKS_I_COULD_HAVE_BECOME_GOOD_FRIENDS_WITH_YOU : NpcStringId.SORRY_BUT_THIS_IS_ALL_I_HAVE_GIVE_ME_A_BREAK; - broadcastNpcSay(npc, Say2.NPC_ALL, msg); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, msg); npc.setScriptValue(3); npc.doCast(SKILL.getSkill()); for (int i = 0; i < 10; i++) @@ -125,7 +125,7 @@ public final class FrightenedRagnaOrc extends AbstractNpcAI else { final NpcStringId msg = getRandomBoolean() ? NpcStringId.THANKS_BUT_THAT_THING_ABOUT_10_000_000_ADENA_WAS_A_LIE_SEE_YA : NpcStringId.YOU_RE_PRETTY_DUMB_TO_BELIEVE_ME; - broadcastNpcSay(npc, Say2.NPC_ALL, msg); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, msg); } startQuestTimer("despawn", 1000, npc, null); } diff --git a/trunk/dist/game/data/scripts/ai/individual/Gagabu.java b/trunk/dist/game/data/scripts/ai/individual/Gagabu.java new file mode 100644 index 0000000000..1cd7762bf1 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/Gagabu.java @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Gagabu AI. + * @author Gladicek + */ +public final class Gagabu extends AbstractNpcAI +{ + // NPCs + private static final int GAGABU = 33284; + // Misc + private static final NpcStringId[] GAGABU_SHOUT = + { + NpcStringId.SPIRITSHOTS_ARE_MIXED, + NpcStringId.WHEN_WILL_I_ORGANIZE_THIS_ALL + }; + + private Gagabu() + { + super(Gagabu.class.getSimpleName(), "ai/individual"); + addSpawnId(GAGABU); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAM_TEXT") && (npc != null)) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, GAGABU_SHOUT[getRandom(2)], 1000); + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 8000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Gagabu(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/Galad.java b/trunk/dist/game/data/scripts/ai/individual/Galad.java new file mode 100644 index 0000000000..43e5dad848 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/Galad.java @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Galad AI. + * @author Gladicek + */ +public final class Galad extends AbstractNpcAI +{ + // NPCs + private static final int GALAD = 33572; + + private Galad() + { + super(Galad.class.getSimpleName(), "ai/individual"); + addSpawnId(GALAD); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAM_TEXT") && (npc != null)) + { + npc.broadcastSocialAction(3); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.OCCASIONALLY_RARE_JEWELS_OF_GIANTS_ARE_DISCOVERED_IN_THE_BEACH, 1000); + + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 8000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Galad(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/GuardSoldier.java b/trunk/dist/game/data/scripts/ai/individual/GuardSoldier.java new file mode 100644 index 0000000000..6160c5480d --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/GuardSoldier.java @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Guard Soldier AI. + * @author Gladicek + */ +public final class GuardSoldier extends AbstractNpcAI +{ + // NPCs + private static final int GUARD_SOLDIER = 33286; + + private GuardSoldier() + { + super(GuardSoldier.class.getSimpleName(), "ai/individual"); + addSpawnId(GUARD_SOLDIER); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAM_TEXT") && (npc != null)) + { + npc.broadcastSocialAction(3); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.LADY_YOU_MUST_GO_IN, 1000); + + } + else if (event.equals("SOCIAL_ACTION") && (npc != null)) + { + npc.broadcastSocialAction(2); + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 12000, npc, null, true); + startQuestTimer("SOCIAL_ACTION", 15000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new GuardSoldier(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/npc/TownPets/TownPets.java b/trunk/dist/game/data/scripts/ai/individual/Handermonkey.java similarity index 54% rename from trunk/dist/game/data/scripts/ai/npc/TownPets/TownPets.java rename to trunk/dist/game/data/scripts/ai/individual/Handermonkey.java index c5e1e7de15..c18c521510 100644 --- a/trunk/dist/game/data/scripts/ai/npc/TownPets/TownPets.java +++ b/trunk/dist/game/data/scripts/ai/individual/Handermonkey.java @@ -16,59 +16,45 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package ai.npc.TownPets; +package ai.individual; import ai.npc.AbstractNpcAI; -import com.l2jserver.Config; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; /** - * Town Pets AI - * @author malyelfik + * Handermonkey AI. + * @author Gladicek */ -public final class TownPets extends AbstractNpcAI +public final class Handermonkey extends AbstractNpcAI { - // Pet IDs - private static final int[] PETS = - { - 31202, // Maximus - 31203, // Moon Dancer - 31204, // Georgio - 31205, // Katz - 31206, // Ten Ten - 31207, // Sardinia - 31208, // La Grange - 31209, // Misty Rain - 31266, // Kaiser - 31593, // Dorothy - 31758, // Rafi - 31955, // Ruby - }; + // NPC + private static final int HANDERMONKEY = 33203; - private TownPets() + private Handermonkey() { - super(TownPets.class.getSimpleName(), "ai/npc"); - - if (Config.ALLOW_PET_WALKERS) - { - addSpawnId(PETS); - } + super(Handermonkey.class.getSimpleName(), "ai/npc"); + addSpawnId(HANDERMONKEY); } @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { - if (event.equalsIgnoreCase("move")) + if (event.equalsIgnoreCase("npc_move")) { - final int locX = (npc.getSpawn().getX() - 50) + getRandom(100); - final int locY = (npc.getSpawn().getY() - 50) + getRandom(100); - npc.setRunning(); - npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(locX, locY, npc.getZ(), 0)); - startQuestTimer("move", 5000, npc, null); + if (getRandom(100) > 30) + { + final int locX = (npc.getSpawn().getX() - 70) + getRandom(100); + final int locY = (npc.getSpawn().getY() - 70) + getRandom(100); + npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new Location(locX, locY, npc.getZ(), 0)); + } + else + { + npc.broadcastSocialAction(9); + } } return null; } @@ -76,12 +62,13 @@ public final class TownPets extends AbstractNpcAI @Override public String onSpawn(L2Npc npc) { - startQuestTimer("move", 3000, npc, null); + npc.setRunning(); + startQuestTimer("npc_move", 5000, npc, null, true); return super.onSpawn(npc); } public static void main(String[] args) { - new TownPets(); + new Handermonkey(); } } \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/Heymond.java b/trunk/dist/game/data/scripts/ai/individual/Heymond.java new file mode 100644 index 0000000000..d907ae085b --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/Heymond.java @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Heymond AI. + * @author Gladicek + */ +public final class Heymond extends AbstractNpcAI +{ + // NPCs + private static final int HEYMOND = 33026; + // Misc + private static final NpcStringId[] HEYMOND_SHOUT = + { + NpcStringId.VIEW_OUR_WIDE_VARIETY_OF_ACCESSORIES, + NpcStringId.THE_BEST_WEAPON_DOESN_T_MAKE_YOU_THE_BEST, + NpcStringId.WE_BUY_AND_SELL_COME_TAKE_A_LOOK + }; + + private Heymond() + { + super(Heymond.class.getSimpleName(), "ai/individual"); + addSpawnId(HEYMOND); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAM_TEXT") && (npc != null)) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, HEYMOND_SHOUT[getRandom(3)], 1000); + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 7000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Heymond(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/Holly.java b/trunk/dist/game/data/scripts/ai/individual/Holly.java new file mode 100644 index 0000000000..61c884e573 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/Holly.java @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Holly AI. + * @author Gladicek + */ +public final class Holly extends AbstractNpcAI +{ + // NPCs + private static final int HOLLY = 33219; + + private Holly() + { + super(Holly.class.getSimpleName(), "ai/individual"); + addSpawnId(HOLLY); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAM_TEXT") && (npc != null)) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.GIRAN_SHUTTLE_DOES_NOT_COME_ANYMORE_IT_S_ALL_IN_THE_PAST, 1000); + } + else if (event.equals("SOCIAL_ACTION") && (npc != null)) + { + npc.broadcastSocialAction(6); + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 10000, npc, null, true); + startQuestTimer("SOCIAL_ACTION", 2000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Holly(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/Karonf.java b/trunk/dist/game/data/scripts/ai/individual/Karonf.java new file mode 100644 index 0000000000..d4511330d8 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/Karonf.java @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.Location; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Karonf AI. + * @author Gladicek + */ +public final class Karonf extends AbstractNpcAI +{ + // NPC + private static final int KARONF = 33242; + // Misc + private static final NpcStringId[] KARONF_SHOUT = + { + NpcStringId.WHEN_YOU_GO_TO_THE_MUSEUM_SPEAK_TO_PANTHEON, + NpcStringId.SOME_FOLKS_DON_T_KNOW_WHAT_THEY_ARE_DOING + }; + private final static Location[] KARONF_LOC = + { + new Location(-113984, 259782, -1203), + new Location(-113786, 259475, -1203), + new Location(-113977, 259035, -1203), + new Location(-114012, 259290, -1203), + new Location(-113812, 259522, -1203), + new Location(-113621, 259281, -1203), + new Location(-114354, 259048, -1193), + new Location(-113864, 259293, -1203), + new Location(-114052, 259351, -1203), + new Location(-114175, 259243, -1203), + }; + + private Karonf() + { + super(Karonf.class.getSimpleName(), "ai/individual"); + addSpawnId(KARONF); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equalsIgnoreCase("npc_move") && (npc != null)) + { + if (getRandom(100) > 40) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, KARONF_SHOUT[getRandom(2)], 1000); + addMoveToDesire(npc, KARONF_LOC[getRandom(10)], 0); + } + else + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, KARONF_SHOUT[getRandom(2)]); + } + } + return null; + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("npc_move", 8000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Karonf(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/Luderic.java b/trunk/dist/game/data/scripts/ai/individual/Luderic.java new file mode 100644 index 0000000000..e58a44e942 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/Luderic.java @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Luderic AI. + * @author Gladicek + */ +public final class Luderic extends AbstractNpcAI +{ + // NPCs + private static final int LUDERIC = 33575; + // Misc + private static final NpcStringId[] LUDERIC_SHOUT = + { + NpcStringId.THERE_IS_A_DAY_WHERE_YOU_CAN_SEE_EVEN_THE_ADEN_CONTINENT_IF_THE_WEATHER_IS_GOOD, + NpcStringId.IF_I_M_HERE_IT_FEELS_LIKE_TIME_HAS_STOPPED + }; + + private Luderic() + { + super(Luderic.class.getSimpleName(), "ai/individual"); + addSpawnId(LUDERIC); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAM_TEXT") && (npc != null)) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, LUDERIC_SHOUT[getRandom(2)], 1000); + } + else if (event.equals("SOCIAL_ACTION") && (npc != null)) + { + npc.broadcastSocialAction(1); + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 7000, npc, null, true); + startQuestTimer("SOCIAL_ACTION", 3000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Luderic(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/Lumi.java b/trunk/dist/game/data/scripts/ai/individual/Lumi.java new file mode 100644 index 0000000000..f793f50579 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/Lumi.java @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Lumi AI. + * @author Gladicek + */ +public final class Lumi extends AbstractNpcAI +{ + // NPCs + private static final int LUMI = 33025; + // Misc + private static final NpcStringId[] LUMI_SHOUT = + { + NpcStringId.TO_YOUR_RIGHT_THE_ADMINISTRATIVE_DISTRICT_AND_TO_THE_LEFT_IS_THE_MUSEUM, + NpcStringId.WHEN_YOU_USE_THE_TELEPORTER_YOU_CAN_GO_TO_THE_RUINS_OF_YE_SAGIRA, + NpcStringId.HAVE_YOU_BEEN_TO_RUINS_OF_YE_SAGIRA_YOU_HAVE_TO_GO_AT_LEAST_ONCE, + }; + + private Lumi() + { + super(Lumi.class.getSimpleName(), "ai/individual"); + addSpawnId(LUMI); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAM_TEXT") && (npc != null)) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, LUMI_SHOUT[getRandom(3)], 1000); + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 8000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Lumi(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/Mahram.java b/trunk/dist/game/data/scripts/ai/individual/Mahram.java index b66e371cb9..beadac81fc 100644 --- a/trunk/dist/game/data/scripts/ai/individual/Mahram.java +++ b/trunk/dist/game/data/scripts/ai/individual/Mahram.java @@ -20,10 +20,10 @@ package ai.individual; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Mahram AI. @@ -45,7 +45,7 @@ public final class Mahram extends AbstractNpcAI { if (event.equals("SPAM_TEXT") && (npc != null)) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.ALCHEMY_IS_A_SCIENCE_AND_AN_ART); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.ALCHEMY_IS_A_SCIENCE_AND_AN_ART, 1000); } return super.onAdvEvent(event, npc, player); } diff --git a/trunk/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/Q00646_SignsOfRevolt.java b/trunk/dist/game/data/scripts/ai/individual/Mai.java similarity index 50% rename from trunk/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/Q00646_SignsOfRevolt.java rename to trunk/dist/game/data/scripts/ai/individual/Mai.java index bcb1d7eba2..e6f83fdec8 100644 --- a/trunk/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/Q00646_SignsOfRevolt.java +++ b/trunk/dist/game/data/scripts/ai/individual/Mai.java @@ -16,40 +16,49 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package quests.Q00646_SignsOfRevolt; +package ai.individual; +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; +import com.l2jserver.gameserver.network.NpcStringId; /** - * Signs of Revolt (646)
- * NOTE: This quest is no longer available since Gracia Epilogue - * @author malyelfik + * Mai AI. + * @author Gladicek */ -public class Q00646_SignsOfRevolt extends Quest +public final class Mai extends AbstractNpcAI { - // NPC - private static final int TORRANT = 32016; - // Misc - private static final int MIN_LEVEL = 80; + // NPCs + private static final int MAI = 33238; - public Q00646_SignsOfRevolt() + private Mai() { - super(646, Q00646_SignsOfRevolt.class.getSimpleName(), "Signs of Revolt"); - addStartNpc(TORRANT); - addTalkId(TORRANT); + super(Mai.class.getSimpleName(), "ai/individual"); + addSpawnId(MAI); } @Override - public String onTalk(L2Npc npc, L2PcInstance player) + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { - final QuestState st = getQuestState(player, true); - if (st != null) + if (event.equals("SPAM_TEXT") && (npc != null)) { - st.exitQuest(true); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.EVERY_RACE_BUILT_A_PIECE_OF_THIS_VILLAGE, 1000); } - return (player.getLevel() >= MIN_LEVEL) ? "32016-01.html" : "32016-02.html"; + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 15000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Mai(); } } \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/MarinSmith.java b/trunk/dist/game/data/scripts/ai/individual/MarinSmith.java new file mode 100644 index 0000000000..34a480074d --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/MarinSmith.java @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Marin Smith AI. + * @author Gladicek + */ +public final class MarinSmith extends AbstractNpcAI +{ + // NPCs + private static final int MARIN_SMITH = 33285; + + private MarinSmith() + { + super(MarinSmith.class.getSimpleName(), "ai/individual"); + addSpawnId(MARIN_SMITH); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAM_TEXT") && (npc != null)) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.HMM_IS_THIS_STILL_A_DECENT_WEAPON, 1000); + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 6000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new MarinSmith(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/Orfen.java b/trunk/dist/game/data/scripts/ai/individual/Orfen.java index 5820b47074..827ab1c321 100644 --- a/trunk/dist/game/data/scripts/ai/individual/Orfen.java +++ b/trunk/dist/game/data/scripts/ai/individual/Orfen.java @@ -26,6 +26,7 @@ import ai.npc.AbstractNpcAI; import com.l2jserver.Config; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.datatables.SkillData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.GrandBossManager; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2Spawn; @@ -39,7 +40,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.model.zone.type.L2BossZone; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.network.serverpackets.PlaySound; @@ -248,7 +248,7 @@ public final class Orfen extends AbstractNpcAI L2Character originalCaster = isSummon ? caster.getServitors().values().stream().findFirst().orElse(caster.getPet()) : caster; if ((skill.getEffectPoint() > 0) && (getRandom(5) == 0) && npc.isInsideRadius(originalCaster, 1000, false, false)) { - NpcSay packet = new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), TEXT[getRandom(4)]); + NpcSay packet = new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), TEXT[getRandom(4)]); packet.addStringParameter(caster.getName().toString()); npc.broadcastPacket(packet); originalCaster.teleToLocation(npc.getLocation()); @@ -303,7 +303,7 @@ public final class Orfen extends AbstractNpcAI } else if (npc.isInsideRadius(attacker, 1000, false, false) && !npc.isInsideRadius(attacker, 300, false, false) && (getRandom(10) == 0)) { - NpcSay packet = new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npcId, TEXT[getRandom(3)]); + NpcSay packet = new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npcId, TEXT[getRandom(3)]); packet.addStringParameter(attacker.getName().toString()); npc.broadcastPacket(packet); attacker.teleToLocation(npc.getLocation()); diff --git a/trunk/dist/game/data/scripts/ai/npc/Oris/Oris.java b/trunk/dist/game/data/scripts/ai/individual/Oris.java similarity index 72% rename from trunk/dist/game/data/scripts/ai/npc/Oris/Oris.java rename to trunk/dist/game/data/scripts/ai/individual/Oris.java index 6fc4d7cd69..4f2aa8e3d5 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Oris/Oris.java +++ b/trunk/dist/game/data/scripts/ai/individual/Oris.java @@ -16,41 +16,36 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package ai.npc.Oris; +package ai.individual; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; /** * Oris AI. - * @author St3eT + * @author Gladicek */ public final class Oris extends AbstractNpcAI { - // NPC + // NPCs private static final int ORIS = 33116; private Oris() { - super(Oris.class.getSimpleName(), "ai/npc"); + super(Oris.class.getSimpleName(), "ai/individual"); addSpawnId(ORIS); - addStartNpc(ORIS); - addTalkId(ORIS); } @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { - if (event.equals("SOCIAL_ACTION_1")) + if (event.equals("SPAM_TEXT") && (npc != null)) { - npc.broadcastSocialAction(6); - startQuestTimer("SOCIAL_ACTION_2", 2500, npc, null); - } - else if (event.equals("SOCIAL_ACTION_2")) - { - npc.broadcastSocialAction(7); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.I_HAVEN_T_FELT_THIS_GOOD_IN_AGES, 1000); } return super.onAdvEvent(event, npc, player); } @@ -58,8 +53,7 @@ public final class Oris extends AbstractNpcAI @Override public String onSpawn(L2Npc npc) { - npc.setRandomAnimationEnabled(false); - startQuestTimer("SOCIAL_ACTION_1", 6500, npc, null, true); + startQuestTimer("SPAM_TEXT", 10000, npc, null, true); return super.onSpawn(npc); } diff --git a/trunk/dist/game/data/scripts/ai/individual/QueenShyeed.java b/trunk/dist/game/data/scripts/ai/individual/QueenShyeed.java index 65b5968752..4fd6d03e0f 100644 --- a/trunk/dist/game/data/scripts/ai/individual/QueenShyeed.java +++ b/trunk/dist/game/data/scripts/ai/individual/QueenShyeed.java @@ -20,13 +20,13 @@ package ai.individual; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.zone.type.L2EffectZone; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Queen Shyeed AI @@ -69,7 +69,7 @@ public final class QueenShyeed extends AbstractNpcAI @Override public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.SHYEED_S_CRY_IS_STEADILY_DYING_DOWN); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.SHYEED_S_CRY_IS_STEADILY_DYING_DOWN); startRespawn(); PC_BUFF_ZONE.setEnabled(true); return super.onKill(npc, killer, isSummon); diff --git a/trunk/dist/game/data/scripts/ai/individual/Shannon.java b/trunk/dist/game/data/scripts/ai/individual/Shannon.java index 554a4e9ea7..d58b514769 100644 --- a/trunk/dist/game/data/scripts/ai/individual/Shannon.java +++ b/trunk/dist/game/data/scripts/ai/individual/Shannon.java @@ -20,10 +20,10 @@ package ai.individual; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Shannon AI. @@ -45,7 +45,7 @@ public final class Shannon extends AbstractNpcAI { if (event.equals("SPAM_TEXT") && (npc != null)) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.LOOK_AT_ALL_THE_NEWBIES_HA_HA_HA); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.LOOK_AT_ALL_THE_NEWBIES_HA_HA_HA, 1000); } return super.onAdvEvent(event, npc, player); } diff --git a/trunk/dist/game/data/scripts/ai/individual/SinEater.java b/trunk/dist/game/data/scripts/ai/individual/SinEater.java index cc1121193a..1b33cebea2 100644 --- a/trunk/dist/game/data/scripts/ai/individual/SinEater.java +++ b/trunk/dist/game/data/scripts/ai/individual/SinEater.java @@ -20,6 +20,7 @@ package ai.individual; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.L2Summon; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -31,7 +32,6 @@ import com.l2jserver.gameserver.model.events.annotations.RegisterType; import com.l2jserver.gameserver.model.events.impl.character.OnCreatureAttacked; import com.l2jserver.gameserver.model.events.impl.character.OnCreatureKill; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -168,7 +168,7 @@ public final class SinEater extends AbstractNpcAI private void broadcastSummonSay(L2Summon summon, NpcStringId npcstringId) { - summon.broadcastPacket(new NpcSay(summon.getObjectId(), Say2.NPC_ALL, summon.getId(), npcstringId)); + summon.broadcastPacket(new NpcSay(summon.getObjectId(), ChatType.NPC_GENERAL, summon.getId(), npcstringId)); } public static void main(String[] args) diff --git a/trunk/dist/game/data/scripts/ai/individual/SinWardens.java b/trunk/dist/game/data/scripts/ai/individual/SinWardens.java index c52a6036ad..671e015d14 100644 --- a/trunk/dist/game/data/scripts/ai/individual/SinWardens.java +++ b/trunk/dist/game/data/scripts/ai/individual/SinWardens.java @@ -23,11 +23,11 @@ import java.util.Map; import javolution.util.FastMap; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -75,7 +75,7 @@ public final class SinWardens extends AbstractNpcAI if ((killedCount) == 5) { - master.broadcastPacket(new NpcSay(master.getObjectId(), Say2.NPC_ALL, master.getId(), NpcStringId.WE_MIGHT_NEED_NEW_SLAVES_I_LL_BE_BACK_SOON_SO_WAIT)); + master.broadcastPacket(new NpcSay(master.getObjectId(), ChatType.NPC_GENERAL, master.getId(), NpcStringId.WE_MIGHT_NEED_NEW_SLAVES_I_LL_BE_BACK_SOON_SO_WAIT)); master.doDie(killer); killedMinionsCount.remove(master.getObjectId()); } diff --git a/trunk/dist/game/data/scripts/ai/individual/Sodian.java b/trunk/dist/game/data/scripts/ai/individual/Sodian.java new file mode 100644 index 0000000000..c321bce8a5 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/Sodian.java @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Sodian AI. + * @author Gladicek + */ +public final class Sodian extends AbstractNpcAI +{ + // NPCs + private static final int SODIAN = 33229; + // Misc + private static final NpcStringId[] SODIAN_SHOUT = + { + NpcStringId.COME_BROWSE_OUR_INVENTORY, + NpcStringId.INCREDIBLE_WEAPONS_FOR_SALE + }; + + private Sodian() + { + super(Sodian.class.getSimpleName(), "ai/individual"); + addSpawnId(SODIAN); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAM_TEXT") && (npc != null)) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, SODIAN_SHOUT[getRandom(2)], 1000); + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 8000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Sodian(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/Stiller.java b/trunk/dist/game/data/scripts/ai/individual/Stiller.java new file mode 100644 index 0000000000..cb10dcde5e --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/Stiller.java @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Stiller AI. + * @author Gladicek + */ +public final class Stiller extends AbstractNpcAI +{ + // NPCs + private static final int STILLER = 33125; + // Misc + private static final NpcStringId[] STILLER_SHOUT = + { + NpcStringId.HEY_DID_YOU_SPEAK_WITH_PANTHEON, + NpcStringId.EVERYONE_NEEDS_TO_MEET_PANTHEON_FIRST_BEFORE_HUNTING + }; + + private Stiller() + { + super(Stiller.class.getSimpleName(), "ai/individual"); + addSpawnId(STILLER); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAM_TEXT") && (npc != null)) + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, STILLER_SHOUT[getRandom(2)], 1000); + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 10000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new Stiller(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/individual/Theodore.java b/trunk/dist/game/data/scripts/ai/individual/Theodore.java index 69d30f80b3..6658f3a471 100644 --- a/trunk/dist/game/data/scripts/ai/individual/Theodore.java +++ b/trunk/dist/game/data/scripts/ai/individual/Theodore.java @@ -20,10 +20,10 @@ package ai.individual; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Theodore AI. @@ -45,7 +45,7 @@ public final class Theodore extends AbstractNpcAI { if (event.equals("SPAM_TEXT") && (npc != null)) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.AND_NOW_YOUR_JOURNEY_BEGINS); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.AND_NOW_YOUR_JOURNEY_BEGINS, 1000); } return super.onAdvEvent(event, npc, player); } diff --git a/trunk/dist/game/data/scripts/ai/individual/TomaJunior.java b/trunk/dist/game/data/scripts/ai/individual/TomaJunior.java new file mode 100644 index 0000000000..26cfd6e276 --- /dev/null +++ b/trunk/dist/game/data/scripts/ai/individual/TomaJunior.java @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2004-2015 L2J DataPack + * + * This file is part of L2J DataPack. + * + * L2J DataPack is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J DataPack is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.individual; + +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.enums.ChatType; +import com.l2jserver.gameserver.model.actor.L2Npc; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; + +/** + * Guard Soldier AI. + * @author Gladicek + */ +public final class TomaJunior extends AbstractNpcAI +{ + // NPCs + private static final int TOMA_JUNIOR = 33571; + + private TomaJunior() + { + super(GuardSoldier.class.getSimpleName(), "ai/individual"); + addSpawnId(TOMA_JUNIOR); + } + + @Override + public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) + { + if (event.equals("SPAM_TEXT") && (npc != null)) + { + npc.broadcastSocialAction(3); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.THE_BEACH_WHERE_RELICS_OF_GIANTS_HAD_FALLEN_HAS_NOW_BECOME_CLEAN, 1000); + + } + else if (event.equals("SOCIAL_ACTION") && (npc != null)) + { + npc.broadcastSocialAction(6); + } + return super.onAdvEvent(event, npc, player); + } + + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", 9000, npc, null, true); + startQuestTimer("SOCIAL_ACTION", 15000, npc, null, true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new TomaJunior(); + } +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00635_IntoTheDimensionalRift/Q00635_IntoTheDimensionalRift.java b/trunk/dist/game/data/scripts/ai/individual/TrainingGolem.java similarity index 55% rename from trunk/dist/game/data/scripts/quests/Q00635_IntoTheDimensionalRift/Q00635_IntoTheDimensionalRift.java rename to trunk/dist/game/data/scripts/ai/individual/TrainingGolem.java index 3cbf1b868e..6f17f09d64 100644 --- a/trunk/dist/game/data/scripts/quests/Q00635_IntoTheDimensionalRift/Q00635_IntoTheDimensionalRift.java +++ b/trunk/dist/game/data/scripts/ai/individual/TrainingGolem.java @@ -16,19 +16,36 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package quests.Q00635_IntoTheDimensionalRift; +package ai.individual; -import com.l2jserver.gameserver.model.quest.Quest; +import ai.npc.AbstractNpcAI; + +import com.l2jserver.gameserver.model.actor.L2Npc; /** - * Into the Dimensional Rift (635)
- * NOTE: Dummy Quest shown in players' questlist when inside the rift - * @author malyelfik + * Training Golem AI. + * @author Gladicek */ -public class Q00635_IntoTheDimensionalRift extends Quest +public final class TrainingGolem extends AbstractNpcAI { - public Q00635_IntoTheDimensionalRift() + // NPCs + private static final int TRAINING_GOLEM = 27532; + + private TrainingGolem() { - super(635, Q00635_IntoTheDimensionalRift.class.getSimpleName(), "Into the Dimensional Rift"); + super(TrainingGolem.class.getSimpleName(), "ai/individual"); + addSpawnId(TRAINING_GOLEM); } -} \ No newline at end of file + + @Override + public String onSpawn(L2Npc npc) + { + npc.setIsImmobilized(true); + return super.onSpawn(npc); + } + + public static void main(String[] args) + { + new TrainingGolem(); + } +} diff --git a/trunk/dist/game/data/scripts/ai/individual/Venom/Venom.java b/trunk/dist/game/data/scripts/ai/individual/Venom/Venom.java index 17103d85fe..bf342dfafb 100644 --- a/trunk/dist/game/data/scripts/ai/individual/Venom/Venom.java +++ b/trunk/dist/game/data/scripts/ai/individual/Venom/Venom.java @@ -24,6 +24,7 @@ import java.util.List; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.CastleManager; import com.l2jserver.gameserver.instancemanager.GlobalVariablesManager; import com.l2jserver.gameserver.model.Location; @@ -37,7 +38,6 @@ import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.model.zone.ZoneId; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Venom AI on Rune Castle. @@ -157,7 +157,7 @@ public final class Venom extends AbstractNpcAI if (CastleManager.getInstance().getCastleById(CASTLE).getSiege().getControlTowerCount() <= 1) { changeLocation(MoveTo.THRONE); - broadcastNpcSay(_massymore, Say2.NPC_SHOUT, NpcStringId.OH_NO_THE_DEFENSES_HAVE_FAILED_IT_IS_TOO_DANGEROUS_TO_REMAIN_INSIDE_THE_CASTLE_FLEE_EVERY_MAN_FOR_HIMSELF); + broadcastNpcSay(_massymore, ChatType.NPC_SHOUT, NpcStringId.OH_NO_THE_DEFENSES_HAVE_FAILED_IT_IS_TOO_DANGEROUS_TO_REMAIN_INSIDE_THE_CASTLE_FLEE_EVERY_MAN_FOR_HIMSELF); cancelQuestTimer("tower_check", npc, null); startQuestTimer("raid_check", 10000, npc, null, true); } @@ -275,7 +275,7 @@ public final class Venom extends AbstractNpcAI _venom.disableSkill(VENOM_TELEPORT.getSkill(), -1); _venom.disableSkill(RANGE_TELEPORT.getSkill(), -1); _venom.doRevive(); - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.WHO_DARES_TO_COVET_THE_THRONE_OF_OUR_CASTLE_LEAVE_IMMEDIATELY_OR_YOU_WILL_PAY_THE_PRICE_OF_YOUR_AUDACITY_WITH_YOUR_VERY_OWN_BLOOD); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.WHO_DARES_TO_COVET_THE_THRONE_OF_OUR_CASTLE_LEAVE_IMMEDIATELY_OR_YOU_WILL_PAY_THE_PRICE_OF_YOUR_AUDACITY_WITH_YOUR_VERY_OWN_BLOOD); ((L2Attackable) _venom).setCanReturnToSpawnPoint(false); if (checkStatus() == DEAD) { @@ -327,7 +327,7 @@ public final class Venom extends AbstractNpcAI public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) { updateStatus(DEAD); - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.IT_S_NOT_OVER_YET_IT_WON_T_BE_OVER_LIKE_THIS_NEVER); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.IT_S_NOT_OVER_YET_IT_WON_T_BE_OVER_LIKE_THIS_NEVER); if (!CastleManager.getInstance().getCastleById(CASTLE).getSiege().isInProgress()) { L2Npc cube = addSpawn(TELEPORT_CUBE, CUBE, false, 0); diff --git a/trunk/dist/game/data/scripts/ai/npc/AbstractNpcAI.java b/trunk/dist/game/data/scripts/ai/npc/AbstractNpcAI.java index d733bf1512..13db3b5c0d 100644 --- a/trunk/dist/game/data/scripts/ai/npc/AbstractNpcAI.java +++ b/trunk/dist/game/data/scripts/ai/npc/AbstractNpcAI.java @@ -20,6 +20,7 @@ package ai.npc; import java.util.logging.Logger; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; @@ -83,7 +84,7 @@ public abstract class AbstractNpcAI extends Quest * @param type * @param text */ - protected void broadcastNpcSay(L2Npc npc, int type, String text) + protected void broadcastNpcSay(L2Npc npc, ChatType type, String text) { Broadcast.toKnownPlayers(npc, new NpcSay(npc.getObjectId(), type, npc.getTemplate().getDisplayId(), text)); } @@ -94,7 +95,7 @@ public abstract class AbstractNpcAI extends Quest * @param type * @param stringId */ - protected void broadcastNpcSay(L2Npc npc, int type, NpcStringId stringId) + protected void broadcastNpcSay(L2Npc npc, ChatType type, NpcStringId stringId) { Broadcast.toKnownPlayers(npc, new NpcSay(npc.getObjectId(), type, npc.getTemplate().getDisplayId(), stringId)); } @@ -106,7 +107,7 @@ public abstract class AbstractNpcAI extends Quest * @param stringId * @param parameters */ - protected void broadcastNpcSay(L2Npc npc, int type, NpcStringId stringId, String... parameters) + protected void broadcastNpcSay(L2Npc npc, ChatType type, NpcStringId stringId, String... parameters) { final NpcSay say = new NpcSay(npc.getObjectId(), type, npc.getTemplate().getDisplayId(), stringId); if (parameters != null) @@ -126,7 +127,7 @@ public abstract class AbstractNpcAI extends Quest * @param text * @param radius */ - protected void broadcastNpcSay(L2Npc npc, int type, String text, int radius) + protected void broadcastNpcSay(L2Npc npc, ChatType type, String text, int radius) { Broadcast.toKnownPlayersInRadius(npc, new NpcSay(npc.getObjectId(), type, npc.getTemplate().getDisplayId(), text), radius); } @@ -138,7 +139,7 @@ public abstract class AbstractNpcAI extends Quest * @param stringId * @param radius */ - protected void broadcastNpcSay(L2Npc npc, int type, NpcStringId stringId, int radius) + protected void broadcastNpcSay(L2Npc npc, ChatType type, NpcStringId stringId, int radius) { Broadcast.toKnownPlayersInRadius(npc, new NpcSay(npc.getObjectId(), type, npc.getTemplate().getDisplayId(), stringId), radius); } diff --git a/trunk/dist/game/data/scripts/ai/npc/AdventurersGuide/AdventurersGuide.java b/trunk/dist/game/data/scripts/ai/npc/AdventurersGuide/AdventurersGuide.java index 9b5dbdb522..5859279bb4 100644 --- a/trunk/dist/game/data/scripts/ai/npc/AdventurersGuide/AdventurersGuide.java +++ b/trunk/dist/game/data/scripts/ai/npc/AdventurersGuide/AdventurersGuide.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2014 L2J DataPack + * Copyright (C) 2004-2015 L2J DataPack * * This file is part of L2J DataPack. * diff --git a/trunk/dist/game/data/scripts/ai/npc/Alarm/Alarm.java b/trunk/dist/game/data/scripts/ai/npc/Alarm/Alarm.java index e9815803e5..3abe47fdcf 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Alarm/Alarm.java +++ b/trunk/dist/game/data/scripts/ai/npc/Alarm/Alarm.java @@ -22,12 +22,12 @@ import quests.Q00184_ArtOfPersuasion.Q00184_ArtOfPersuasion; import quests.Q00185_NikolasCooperation.Q00185_NikolasCooperation; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.QuestSound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Alarm AI for quests Art of Persuasion (184) and Nikola's Cooperation (185). @@ -61,19 +61,19 @@ public final class Alarm extends AbstractNpcAI case "SELF_DESTRUCT_IN_60": { startQuestTimer("SELF_DESTRUCT_IN_30", 30000, npc, null); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.THE_ALARM_WILL_SELF_DESTRUCT_IN_60_SECONDS_ENTER_PASSCODE_TO_OVERRIDE); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.THE_ALARM_WILL_SELF_DESTRUCT_IN_60_SECONDS_ENTER_PASSCODE_TO_OVERRIDE); break; } case "SELF_DESTRUCT_IN_30": { startQuestTimer("SELF_DESTRUCT_IN_10", 20000, npc, null); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.THE_ALARM_WILL_SELF_DESTRUCT_IN_30_SECONDS_ENTER_PASSCODE_TO_OVERRIDE); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.THE_ALARM_WILL_SELF_DESTRUCT_IN_30_SECONDS_ENTER_PASSCODE_TO_OVERRIDE); break; } case "SELF_DESTRUCT_IN_10": { startQuestTimer("RECORDER_CRUSHED", 10000, npc, null); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.THE_ALARM_WILL_SELF_DESTRUCT_IN_10_SECONDS_ENTER_PASSCODE_TO_OVERRIDE); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.THE_ALARM_WILL_SELF_DESTRUCT_IN_10_SECONDS_ENTER_PASSCODE_TO_OVERRIDE); break; } case "RECORDER_CRUSHED": @@ -85,7 +85,7 @@ public final class Alarm extends AbstractNpcAI npc0.getVariables().set("SPAWNED", false); if (player0 != null) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.RECORDER_CRUSHED); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.RECORDER_CRUSHED); if (verifyMemoState(player0, ART_OF_PERSUASION_ID, -1)) { setMemoState(player0, ART_OF_PERSUASION_ID, 5); @@ -234,7 +234,7 @@ public final class Alarm extends AbstractNpcAI public String onSpawn(L2Npc npc) { startQuestTimer("SELF_DESTRUCT_IN_60", 60000, npc, null); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.INTRUDER_ALERT_THE_ALARM_WILL_SELF_DESTRUCT_IN_2_MINUTES); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.INTRUDER_ALERT_THE_ALARM_WILL_SELF_DESTRUCT_IN_2_MINUTES); final L2PcInstance player = npc.getVariables().getObject("player0", L2PcInstance.class); if (player != null) { diff --git a/trunk/dist/game/data/scripts/ai/npc/Apprentice/Apprentice.java b/trunk/dist/game/data/scripts/ai/npc/Apprentice/Apprentice.java index c77b2b1737..d6a49b68de 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Apprentice/Apprentice.java +++ b/trunk/dist/game/data/scripts/ai/npc/Apprentice/Apprentice.java @@ -20,11 +20,11 @@ package ai.npc.Apprentice; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Apprentice AI. @@ -57,12 +57,12 @@ public final class Apprentice extends AbstractNpcAI } else { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.YOU_CAN_T_RIDE_A_KUKURI_NOW); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.YOU_CAN_T_RIDE_A_KUKURI_NOW); } } else if (event.equals("SPAM_TEXT") && (npc != null)) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.TRY_RIDING_A_KUKURI); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.TRY_RIDING_A_KUKURI, 1000); } return super.onAdvEvent(event, npc, player); } diff --git a/trunk/dist/game/data/scripts/ai/npc/CastleTeleporter/CastleTeleporter.java b/trunk/dist/game/data/scripts/ai/npc/CastleTeleporter/CastleTeleporter.java index a0831741bc..e13a20ce02 100644 --- a/trunk/dist/game/data/scripts/ai/npc/CastleTeleporter/CastleTeleporter.java +++ b/trunk/dist/game/data/scripts/ai/npc/CastleTeleporter/CastleTeleporter.java @@ -20,13 +20,13 @@ package ai.npc.CastleTeleporter; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.MapRegionManager; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.Siege; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -74,7 +74,7 @@ public final class CastleTeleporter extends AbstractNpcAI else if (event.equalsIgnoreCase("teleport")) { final int region = MapRegionManager.getInstance().getMapRegionLocId(npc.getX(), npc.getY()); - final NpcSay msg = new NpcSay(npc, Say2.NPC_SHOUT, NpcStringId.THE_DEFENDERS_OF_S1_CASTLE_WILL_BE_TELEPORTED_TO_THE_INNER_CASTLE); + final NpcSay msg = new NpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.THE_DEFENDERS_OF_S1_CASTLE_WILL_BE_TELEPORTED_TO_THE_INNER_CASTLE); msg.addStringParameter(npc.getCastle().getName()); npc.getCastle().oustAllPlayers(); npc.setScriptValue(0); diff --git a/trunk/dist/game/data/scripts/ai/npc/Dorian/Dorian.java b/trunk/dist/game/data/scripts/ai/npc/Dorian/Dorian.java deleted file mode 100644 index 1187dbf156..0000000000 --- a/trunk/dist/game/data/scripts/ai/npc/Dorian/Dorian.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package ai.npc.Dorian; - -import quests.Q00024_InhabitantsOfTheForestOfTheDead.Q00024_InhabitantsOfTheForestOfTheDead; -import ai.npc.AbstractNpcAI; - -import com.l2jserver.gameserver.model.actor.L2Character; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; - -/** - * Dorian (Raid Fighter) - Quest AI - * @author malyelfik - */ -public final class Dorian extends AbstractNpcAI -{ - // NPC - private static final int DORIAN = 25332; - // Items - private static final int SILVER_CROSS = 7153; - private static final int BROKEN_SILVER_CROSS = 7154; - - private Dorian() - { - super(Dorian.class.getSimpleName(), "ai/npc"); - addSeeCreatureId(DORIAN); - } - - @Override - public String onSeeCreature(L2Npc npc, L2Character creature, boolean isSummon) - { - if (creature.isPlayer()) - { - final L2PcInstance pl = creature.getActingPlayer(); - final QuestState qs = pl.getQuestState(Q00024_InhabitantsOfTheForestOfTheDead.class.getSimpleName()); - if ((qs != null) && qs.isCond(3)) - { - takeItems(pl, SILVER_CROSS, -1); - giveItems(pl, BROKEN_SILVER_CROSS, 1); - qs.setCond(4, true); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.THAT_SIGN); - } - } - return super.onSeeCreature(npc, creature, isSummon); - } - - public static void main(String[] args) - { - new Dorian(); - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/npc/ForgeOfTheGods/Rooney.java b/trunk/dist/game/data/scripts/ai/npc/ForgeOfTheGods/Rooney.java index ae968c9d6c..77f01bb053 100644 --- a/trunk/dist/game/data/scripts/ai/npc/ForgeOfTheGods/Rooney.java +++ b/trunk/dist/game/data/scripts/ai/npc/ForgeOfTheGods/Rooney.java @@ -20,12 +20,12 @@ package ai.npc.ForgeOfTheGods; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Rooney AI @@ -95,16 +95,16 @@ public final class Rooney extends AbstractNpcAI switch (aiVal) { case 1: - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.HURRY_HURRY); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.HURRY_HURRY); break; case 2: - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.I_AM_NOT_THAT_TYPE_OF_PERSON_WHO_STAYS_IN_ONE_PLACE_FOR_A_LONG_TIME); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.I_AM_NOT_THAT_TYPE_OF_PERSON_WHO_STAYS_IN_ONE_PLACE_FOR_A_LONG_TIME); break; case 3: - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.IT_S_HARD_FOR_ME_TO_KEEP_STANDING_LIKE_THIS); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.IT_S_HARD_FOR_ME_TO_KEEP_STANDING_LIKE_THIS); break; case 4: - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.WHY_DON_T_I_GO_THAT_WAY_THIS_TIME); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.WHY_DON_T_I_GO_THAT_WAY_THIS_TIME); break; default: npc.teleToLocation(LOCATIONS[getRandom(LOCATIONS.length)], false); @@ -122,7 +122,7 @@ public final class Rooney extends AbstractNpcAI { if (creature.isPlayer() && npc.isScriptValue(0)) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.WELCOME); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.WELCOME); startQuestTimer("teleport", 60000, npc, null); npc.setScriptValue(1); } diff --git a/trunk/dist/game/data/scripts/ai/npc/FreyasSteward/32029.html b/trunk/dist/game/data/scripts/ai/npc/FreyasSteward/32029.html index 55d5a2912b..31d9931d81 100644 --- a/trunk/dist/game/data/scripts/ai/npc/FreyasSteward/32029.html +++ b/trunk/dist/game/data/scripts/ai/npc/FreyasSteward/32029.html @@ -1,5 +1,6 @@ Steward:
-Welcome to the castle of the great Queen Freya. This place is open to the public per the Ice Queen's instruction, though the queen doesn't like noise. Please try to be quiet.

- +Welcome to Ice Queen Freya's Castle. While this place used to be inhabited by Sirra, our great queen is now taking up residence here. And she has decided to open this place to all. Have a look around, if you like. +If you are looking for Jinia and her guild, proceed down the road. I've heard that Jinia can get you into the Ice Queen's castle. You must let me know when you return. If you'd rather, I can teleport you there.
+ - \ No newline at end of file + diff --git a/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-01.html b/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-01.html index fe62013ff5..d6af10ecf0 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-01.html +++ b/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-01.html @@ -1,4 +1,6 @@ Jinia:
-Sorry. I don't have time, I'm dealing with something important.
+We must be prepared before confronting Freya. As the winter cold swells around the castle, she becomes even stronger. We can use blitz tactics and strike her before her power matures fully. Then again, if we wait until she is at full strength, I'm sure the reward will be greater. I leave the choice to you.
+ + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-06.html b/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-06.html index 7900028d0e..d9a1838686 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-06.html +++ b/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-06.html @@ -1,4 +1,4 @@ Jinia:
Be careful. Should anything happen, we'll try to help you.
- + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-07.html b/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-07.html index 2a660b8a08..de4bead506 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-07.html +++ b/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-07.html @@ -1,5 +1,5 @@ Jinia:
Her power is without equal. She truly is a frozen goddess. Are you sure you're ready?
- + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-10.html b/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-10.html index b819bb09df..76eef6af84 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-10.html +++ b/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-10.html @@ -1,6 +1,5 @@ Jinia:
Alright, we'll depart now. Keep those nerves of steel!
- - + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-11.html b/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-11.html index e12de9660b..24c2a2796c 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-11.html +++ b/trunk/dist/game/data/scripts/ai/npc/Jinia/32781-11.html @@ -1,3 +1,3 @@ Jinia:
Alright, understood. Preparations must be thorough. Just let me know when you're ready to go. - + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/npc/Jinia/Jinia.java b/trunk/dist/game/data/scripts/ai/npc/Jinia/Jinia.java index baa2932f36..21e98f947d 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Jinia/Jinia.java +++ b/trunk/dist/game/data/scripts/ai/npc/Jinia/Jinia.java @@ -90,16 +90,16 @@ public final class Jinia extends AbstractNpcAI final QuestState st = player.getQuestState(Q10286_ReunionWithSirra.class.getSimpleName()); if ((st != null) && (player.getLevel() >= MIN_LEVEL)) { - if (st.isCompleted()) - { - return "32781-02.html"; - } - else if (st.isCond(5) || st.isCond(6)) + if (st.isCond(5) || st.isCond(6)) { return "32781-09.html"; } + else if (st.isCond(7)) + { + return "32781-01.html"; + } } - return "32781-01.html"; + return "32781-02.html"; } public static void main(String[] args) diff --git a/trunk/dist/game/data/scripts/ai/npc/LaVieEnRose/LaVieEnRose.java b/trunk/dist/game/data/scripts/ai/npc/LaVieEnRose/LaVieEnRose.java index 45ee99891e..b8289c7433 100644 --- a/trunk/dist/game/data/scripts/ai/npc/LaVieEnRose/LaVieEnRose.java +++ b/trunk/dist/game/data/scripts/ai/npc/LaVieEnRose/LaVieEnRose.java @@ -20,8 +20,10 @@ package ai.npc.LaVieEnRose; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.serverpackets.ExResponseBeautyList; import com.l2jserver.gameserver.network.serverpackets.ExResponseResetList; import com.l2jserver.gameserver.network.serverpackets.ExShowBeautyMenu; @@ -34,6 +36,7 @@ public final class LaVieEnRose extends AbstractNpcAI { // NPCs private static final int LA_VIE_EN_ROSE = 33825; + private static final int BEAUTY_SHOP_HELPER = 33854; private LaVieEnRose() { @@ -41,6 +44,7 @@ public final class LaVieEnRose extends AbstractNpcAI addStartNpc(LA_VIE_EN_ROSE); addTalkId(LA_VIE_EN_ROSE); addFirstTalkId(LA_VIE_EN_ROSE); + addSpawnId(BEAUTY_SHOP_HELPER); } @Override @@ -81,16 +85,39 @@ public final class LaVieEnRose extends AbstractNpcAI player.sendPacket(new ExResponseResetList(player)); break; } + case "SPAM_TEXT": + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.THE_BEAUTY_SHOP_IS_OPEN_COME_ON_IN); + startQuestTimer("SPAM_TEXT2", 2500, npc, null); + break; + } + case "SPAM_TEXT2": + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.YOU_CAN_LOOK_GOOD_TOO_BUDDY_COME_ON_COME_ON); + startQuestTimer("SPAM_TEXT3", 2500, npc, null); + break; + } + case "SPAM_TEXT3": + { + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.EVERYONE_COME_ON_LET_S_GO_GANGNAM_STYLE); + break; + } case "cancel": default: { break; } } - return htmltext; } + @Override + public String onSpawn(L2Npc npc) + { + startQuestTimer("SPAM_TEXT", (5 * 60 * 1000), npc, null, true); + return super.onSpawn(npc); + } + public static void main(String[] args) { new LaVieEnRose(); diff --git a/trunk/dist/game/data/scripts/ai/npc/Mammons/Mammons.java b/trunk/dist/game/data/scripts/ai/npc/Mammons/Mammons.java index 3d78800919..f634beb2b6 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Mammons/Mammons.java +++ b/trunk/dist/game/data/scripts/ai/npc/Mammons/Mammons.java @@ -26,11 +26,11 @@ import java.util.Objects; import ai.npc.AbstractNpcAI; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.util.Broadcast; /** @@ -120,7 +120,7 @@ public final class Mammons extends AbstractNpcAI if (blacksmith != null) { - broadcastNpcSay(blacksmith, Say2.NPC_ALL, NpcStringId.I_HAVE_SOME_EXCELLENT_WEAPONS_TO_SHOW_YOU); + broadcastNpcSay(blacksmith, ChatType.NPC_GENERAL, NpcStringId.I_HAVE_SOME_EXCELLENT_WEAPONS_TO_SHOW_YOU); } if (Config.ANNOUNCE_MAMMON_SPAWN) diff --git a/trunk/dist/game/data/scripts/ai/npc/Milia/Milia.java b/trunk/dist/game/data/scripts/ai/npc/Milia/Milia.java index ad78d1c098..88d708684f 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Milia/Milia.java +++ b/trunk/dist/game/data/scripts/ai/npc/Milia/Milia.java @@ -20,11 +20,11 @@ package ai.npc.Milia; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Milia AI. @@ -39,7 +39,7 @@ public final class Milia extends AbstractNpcAI private Milia() { - super(Milia.class.getSimpleName(), "ai/npc/Teleports"); + super(Milia.class.getSimpleName(), "ai/npc"); addSpawnId(MILIA); addStartNpc(MILIA); addTalkId(MILIA); @@ -54,7 +54,7 @@ public final class Milia extends AbstractNpcAI } else if (event.equals("TEXT_SPAM") && (npc != null)) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.SPEAK_WITH_ME_ABOUT_TRAVELING_AROUND_ADEN); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.SPEAK_WITH_ME_ABOUT_TRAVELING_AROUND_ADEN, 1000); } return super.onAdvEvent(event, npc, player); } diff --git a/trunk/dist/game/data/scripts/ai/npc/Minigame/Minigame.java b/trunk/dist/game/data/scripts/ai/npc/Minigame/Minigame.java index c3a9f782af..52438a1d63 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Minigame/Minigame.java +++ b/trunk/dist/game/data/scripts/ai/npc/Minigame/Minigame.java @@ -24,6 +24,7 @@ import java.util.List; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.datatables.SpawnTable; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2Spawn; import com.l2jserver.gameserver.model.Location; @@ -34,7 +35,6 @@ import com.l2jserver.gameserver.model.events.impl.character.OnCreatureSkillUse; import com.l2jserver.gameserver.model.events.listeners.ConsumerEventListener; import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.util.Util; /** @@ -90,7 +90,7 @@ public final class Minigame extends AbstractNpcAI takeItems(player, UNLIT_TORCHLIGHT, 1); giveItems(player, TORCHLIGHT, 1); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.I_LL_START_THE_FURNACE_MECHANISM_WATCH_FOR_THE_PATTERN); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.I_LL_START_THE_FURNACE_MECHANISM_WATCH_FOR_THE_PATTERN); room.getManager().setTarget(player); room.setParticipant(player); @@ -155,7 +155,7 @@ public final class Minigame extends AbstractNpcAI } else { - broadcastNpcSay(room.getManager(), Say2.NPC_ALL, NpcStringId.NOW_LIGHT_THE_FURNACES_IN_THE_CORRECT_ORDER); + broadcastNpcSay(room.getManager(), ChatType.NPC_GENERAL, NpcStringId.NOW_LIGHT_THE_FURNACES_IN_THE_CORRECT_ORDER); room.burnThemAll(); startQuestTimer("off", 2000, npc, null); final ConsumerEventListener listener = new ConsumerEventListener(room.getParticipant(), EventType.ON_CREATURE_SKILL_USE, (OnCreatureSkillUse listenerEvent) -> onSkillUse(listenerEvent), room); @@ -166,19 +166,19 @@ public final class Minigame extends AbstractNpcAI } case "hurry_up": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.ONLY_1_MINUTE_LEFT); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.ONLY_1_MINUTE_LEFT); startQuestTimer("hurry_up2", 60000, npc, null); break; } case "hurry_up2": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.JUST_10_SECONDS_LEFT); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.JUST_10_SECONDS_LEFT); startQuestTimer("expire", 10000, npc, null); break; } case "expire": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.TOO_LATE_THE_TORCH_HAS_RUN_OUT_MAYBE_NEXT_TIME); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.TOO_LATE_THE_TORCH_HAS_RUN_OUT_MAYBE_NEXT_TIME); } case "end": { @@ -287,7 +287,7 @@ public final class Minigame extends AbstractNpcAI else { addSpawn(TREASURE_BOX, room.getParticipant().getLocation(), true, 0); - broadcastNpcSay(room.getManager(), Say2.NPC_ALL, NpcStringId.THAT_S_IT_YOU_VE_DONE_IT); + broadcastNpcSay(room.getManager(), ChatType.NPC_GENERAL, NpcStringId.THAT_S_IT_YOU_VE_DONE_IT); room.setCurrentPot(0); room.burnThemAll(); startQuestTimer("off", 2000, room.getManager(), null); @@ -298,7 +298,7 @@ public final class Minigame extends AbstractNpcAI { if (room.getAttemptNumber() == MAX_ATTEMPTS) { - broadcastNpcSay(room.getManager(), Say2.NPC_ALL, NpcStringId.I_VE_FAILED_ANY_FURTHER_ATTEMPTS_WOULD_BE_WASTEFUL); + broadcastNpcSay(room.getManager(), ChatType.NPC_GENERAL, NpcStringId.I_VE_FAILED_ANY_FURTHER_ATTEMPTS_WOULD_BE_WASTEFUL); room.burnThemAll(); startQuestTimer("off", 2000, room.getManager(), null); room.getParticipant().removeListenerIf(EventType.ON_CREATURE_SKILL_USE, listener -> listener.getOwner() == room); @@ -306,7 +306,7 @@ public final class Minigame extends AbstractNpcAI } else if (room.getAttemptNumber() < MAX_ATTEMPTS) { - broadcastNpcSay(room.getManager(), Say2.NPC_ALL, NpcStringId.TOO_BAD_I_WILL_NOT_GIVE_UP_ON_THIS_THOUGH); + broadcastNpcSay(room.getManager(), ChatType.NPC_GENERAL, NpcStringId.TOO_BAD_I_WILL_NOT_GIVE_UP_ON_THIS_THOUGH); room.burnThemAll(); startQuestTimer("off", 2000, room.getManager(), null); room.setAttemptNumber(room.getAttemptNumber() + 1); diff --git a/trunk/dist/game/data/scripts/ai/npc/Pantheon/Pantheon.java b/trunk/dist/game/data/scripts/ai/npc/Pantheon/Pantheon.java index 1188a492f2..9bc83ea27f 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Pantheon/Pantheon.java +++ b/trunk/dist/game/data/scripts/ai/npc/Pantheon/Pantheon.java @@ -21,12 +21,12 @@ package ai.npc.Pantheon; import quests.Q10320_LetsGoToTheCentralSquare.Q10320_LetsGoToTheCentralSquare; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage; /** @@ -76,7 +76,7 @@ public final class Pantheon extends AbstractNpcAI { if (npc != null) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.IS_IT_BETTER_TO_END_DESTINY_OR_START_DESTINY); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.IS_IT_BETTER_TO_END_DESTINY_OR_START_DESTINY); } break; } diff --git a/trunk/dist/game/data/scripts/ai/npc/Proclaimer/Proclaimer.java b/trunk/dist/game/data/scripts/ai/npc/Proclaimer/Proclaimer.java index f1f3bd578a..3d114fc494 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Proclaimer/Proclaimer.java +++ b/trunk/dist/game/data/scripts/ai/npc/Proclaimer/Proclaimer.java @@ -20,12 +20,12 @@ package ai.npc.Proclaimer; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Clan; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jserver.gameserver.network.serverpackets.NpcSay; @@ -65,7 +65,7 @@ public final class Proclaimer extends AbstractNpcAI String htmltext = null; if (!player.isOnDarkSide()) { - player.sendPacket(new NpcSay(npc.getObjectId(), Say2.NPC_TELL, npc.getId(), NpcStringId.WHEN_THE_WORLD_PLUNGES_INTO_CHAOS_WE_WILL_NEED_YOUR_HELP_WE_HOPE_YOU_JOIN_US_WHEN_THE_TIME_COMES)); + player.sendPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_TELL, npc.getId(), NpcStringId.WHEN_THE_WORLD_PLUNGES_INTO_CHAOS_WE_WILL_NEED_YOUR_HELP_WE_HOPE_YOU_JOIN_US_WHEN_THE_TIME_COMES)); final L2Clan ownerClan = npc.getCastle().getOwner(); if (ownerClan != null) diff --git a/trunk/dist/game/data/scripts/ai/npc/Raina/Raina.java b/trunk/dist/game/data/scripts/ai/npc/Raina/Raina.java index 3e8b117c39..73d2636e4e 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Raina/Raina.java +++ b/trunk/dist/game/data/scripts/ai/npc/Raina/Raina.java @@ -39,6 +39,7 @@ import com.l2jserver.gameserver.data.xml.impl.ClassListData; import com.l2jserver.gameserver.data.xml.impl.SkillTreesData; import com.l2jserver.gameserver.enums.CategoryType; import com.l2jserver.gameserver.enums.Race; +import com.l2jserver.gameserver.enums.SubclassInfoType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.base.ClassId; @@ -54,6 +55,7 @@ import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcMenuSelect; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.AcquireSkillList; +import com.l2jserver.gameserver.network.serverpackets.ExSubjobInfo; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; /** @@ -152,6 +154,7 @@ public final class Raina extends AbstractNpcAI case "33491-02.html": case "33491-03.html": case "33491-04.html": + case "33491-05.html": case "reawakenCancel.html": { htmltext = event; @@ -456,10 +459,10 @@ public final class Raina extends AbstractNpcAI return; } - final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "addSuccess.html"); player.setActiveClass(player.getTotalSubClasses()); + player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.NEW_SLOT_USED)); player.sendPacket(SystemMessageId.THE_NEW_SUBCLASS_HAS_BEEN_ADDED); - player.sendPacket(html); + player.sendPacket(getNpcHtmlMessage(player, npc, "addSuccess.html")); break; } case 2: // Remove (change) subclass list @@ -521,10 +524,8 @@ public final class Raina extends AbstractNpcAI player.stopAllEffectsNotStayOnSubclassChange(); player.stopCubics(); player.setActiveClass(classIndex); - - final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "addSuccess.html"); - - player.sendPacket(html); + player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED)); + player.sendPacket(getNpcHtmlMessage(player, npc, "addSuccess.html")); player.sendPacket(SystemMessageId.THE_NEW_SUBCLASS_HAS_BEEN_ADDED); } break; @@ -563,9 +564,8 @@ public final class Raina extends AbstractNpcAI player.stopAllEffectsNotStayOnSubclassChange(); player.stopCubics(); player.setActiveClass(classIndex); - - final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "reawakenSuccess.html"); - player.sendPacket(html); + player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED)); + player.sendPacket(getNpcHtmlMessage(player, npc, "reawakenSuccess.html")); SkillTreesData.getInstance().cleanSkillUponAwakening(player); player.sendPacket(new AcquireSkillList(player)); player.sendSkillList(); @@ -589,10 +589,10 @@ public final class Raina extends AbstractNpcAI if (player.addSubClass(classId, player.getTotalSubClasses() + 1, true)) { - final NpcHtmlMessage html = getNpcHtmlMessage(player, npc, "addSuccess.html"); player.setActiveClass(player.getTotalSubClasses()); + player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.NEW_SLOT_USED)); player.sendPacket(SystemMessageId.THE_NEW_SUBCLASS_HAS_BEEN_ADDED); - player.sendPacket(html); + player.sendPacket(getNpcHtmlMessage(player, npc, "addSuccess.html")); SkillTreesData.getInstance().cleanSkillUponAwakening(player); player.sendPacket(new AcquireSkillList(player)); player.sendSkillList(); diff --git a/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-easy.html b/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-easy.html index 794d8fed92..f73fe80cd8 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-easy.html +++ b/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-easy.html @@ -1,4 +1,4 @@ Sirra:
This is the way to the Ice Queen's Throne room, where she awaits. As I've told you, Freya is powerful beyond all comprehension and can destroy you with a mere thought. I keep telling other would-be heroes this, but they keep going anyway. It's actually getting rather fun. But I'm SURE you're different than they were! You shall succeed where they failed. Hahahaha...
- + diff --git a/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-easyfight.html b/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-easyfight.html index 966863243b..f4a783b924 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-easyfight.html +++ b/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-easyfight.html @@ -1,4 +1,4 @@ Sirra:
Beyond this door the Ice Queen Freya is making ice sculptures from foolish adventurers. You're not trying to join them, are you? Tsk tsk. The smart ones run screaming about now.
- + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-hard.html b/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-hard.html index 81095d9ea1..f73fe80cd8 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-hard.html +++ b/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-hard.html @@ -1,4 +1,4 @@ Sirra:
This is the way to the Ice Queen's Throne room, where she awaits. As I've told you, Freya is powerful beyond all comprehension and can destroy you with a mere thought. I keep telling other would-be heroes this, but they keep going anyway. It's actually getting rather fun. But I'm SURE you're different than they were! You shall succeed where they failed. Hahahaha...
- + diff --git a/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-hardfight.html b/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-hardfight.html index 7fe902fdd0..f4a783b924 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-hardfight.html +++ b/trunk/dist/game/data/scripts/ai/npc/Sirra/32762-hardfight.html @@ -1,4 +1,4 @@ Sirra:
Beyond this door the Ice Queen Freya is making ice sculptures from foolish adventurers. You're not trying to join them, are you? Tsk tsk. The smart ones run screaming about now.
- + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java b/trunk/dist/game/data/scripts/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java index 138c853a95..bd0d812b32 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java +++ b/trunk/dist/game/data/scripts/ai/npc/Teleports/TeleportToFantasy/TeleportToFantasy.java @@ -23,11 +23,11 @@ import java.util.Map; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Fantasy Island teleport AI. @@ -103,7 +103,7 @@ public final class TeleportToFantasy extends AbstractNpcAI } else { - broadcastNpcSay(npc, Say2.ALL, NpcStringId.IF_YOUR_MEANS_OF_ARRIVAL_WAS_A_BIT_UNCONVENTIONAL_THEN_I_LL_BE_SENDING_YOU_BACK_TO_THE_TOWN_OF_RUNE_WHICH_IS_THE_NEAREST_TOWN); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.IF_YOUR_MEANS_OF_ARRIVAL_WAS_A_BIT_UNCONVENTIONAL_THEN_I_LL_BE_SENDING_YOU_BACK_TO_THE_TOWN_OF_RUNE_WHICH_IS_THE_NEAREST_TOWN); player.teleToLocation(RUNE_TOWNSHIP); } } diff --git a/trunk/dist/game/data/scripts/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java b/trunk/dist/game/data/scripts/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java index abeb56c09f..49f5bc3d25 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java +++ b/trunk/dist/game/data/scripts/ai/npc/Teleports/TeleportToRaceTrack/TeleportToRaceTrack.java @@ -23,11 +23,11 @@ import java.util.Map; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Monster Derby Track teleport AI. @@ -97,7 +97,7 @@ public final class TeleportToRaceTrack extends AbstractNpcAI } else { - broadcastNpcSay(npc, Say2.ALL, NpcStringId.IF_YOUR_MEANS_OF_ARRIVAL_WAS_A_BIT_UNCONVENTIONAL_THEN_I_LL_BE_SENDING_YOU_BACK_TO_THE_TOWN_OF_RUNE_WHICH_IS_THE_NEAREST_TOWN); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.IF_YOUR_MEANS_OF_ARRIVAL_WAS_A_BIT_UNCONVENTIONAL_THEN_I_LL_BE_SENDING_YOU_BACK_TO_THE_TOWN_OF_RUNE_WHICH_IS_THE_NEAREST_TOWN); player.teleToLocation(DION_CASTLE_TOWN); } } diff --git a/trunk/dist/game/data/scripts/ai/npc/Trandon/Trandon.java b/trunk/dist/game/data/scripts/ai/npc/Trandon/Trandon.java index d50d28c07d..1eddd6abc5 100644 --- a/trunk/dist/game/data/scripts/ai/npc/Trandon/Trandon.java +++ b/trunk/dist/game/data/scripts/ai/npc/Trandon/Trandon.java @@ -224,12 +224,6 @@ public final class Trandon extends AbstractNpcAI { htmltext = "33490-25.html"; } - else if ((player.getLevel() < DUAL_SKILL_LEVELS[0]) || (player.getStat().getBaseLevel() < DUAL_SKILL_LEVELS[0])) // Dual or main class level is lower than 85 - { - // TODO: What happens here? - player.sendMessage("Your level is too low."); - htmltext = null; - } break; } case "dualCertify": @@ -335,7 +329,6 @@ public final class Trandon extends AbstractNpcAI giveSkills(player, "DualSkillList"); } giveSkills(player, "SubSkillList"); - player.sendSkillList(); } @RegisterEvent(EventType.ON_PLAYER_LOGIN) diff --git a/trunk/dist/game/data/scripts/ai/npc/WeaverOlf/WeaverOlf.java b/trunk/dist/game/data/scripts/ai/npc/WeaverOlf/WeaverOlf.java index 67a97941d8..2ac2b8aae1 100644 --- a/trunk/dist/game/data/scripts/ai/npc/WeaverOlf/WeaverOlf.java +++ b/trunk/dist/game/data/scripts/ai/npc/WeaverOlf/WeaverOlf.java @@ -20,11 +20,11 @@ package ai.npc.WeaverOlf; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.itemcontainer.Inventory; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -217,7 +217,7 @@ public final class WeaverOlf extends AbstractNpcAI } else { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.WHAT_A_PREDICAMENT_MY_ATTEMPTS_WERE_UNSUCCESSFUL)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.WHAT_A_PREDICAMENT_MY_ATTEMPTS_WERE_UNSUCCESSFUL)); } } else diff --git a/trunk/dist/game/data/scripts/conquerablehalls/DevastatedCastle/DevastatedCastle.java b/trunk/dist/game/data/scripts/conquerablehalls/DevastatedCastle/DevastatedCastle.java index 0284674e2d..e60db3a33a 100644 --- a/trunk/dist/game/data/scripts/conquerablehalls/DevastatedCastle/DevastatedCastle.java +++ b/trunk/dist/game/data/scripts/conquerablehalls/DevastatedCastle/DevastatedCastle.java @@ -26,12 +26,12 @@ import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.data.sql.impl.ClanTable; import com.l2jserver.gameserver.data.xml.impl.NpcData; import com.l2jserver.gameserver.datatables.SkillData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Clan; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.clanhall.ClanHallSiegeEngine; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Devastated Castle clan hall siege script. @@ -60,11 +60,11 @@ public final class DevastatedCastle extends ClanHallSiegeEngine { if (npc.getId() == MIKHAIL) { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.GLORY_TO_ADEN_THE_KINGDOM_OF_THE_LION_GLORY_TO_SIR_GUSTAV_OUR_IMMORTAL_LORD); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.GLORY_TO_ADEN_THE_KINGDOM_OF_THE_LION_GLORY_TO_SIR_GUSTAV_OUR_IMMORTAL_LORD); } else if (npc.getId() == DIETRICH) { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.SOLDIERS_OF_GUSTAV_GO_FORTH_AND_DESTROY_THE_INVADERS); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.SOLDIERS_OF_GUSTAV_GO_FORTH_AND_DESTROY_THE_INVADERS); } return null; } @@ -98,7 +98,7 @@ public final class DevastatedCastle extends ClanHallSiegeEngine if ((npc.getCurrentHp() < GUSTAV_TRIGGER_HP) && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_CAST)) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.THIS_IS_UNBELIEVABLE_HAVE_I_REALLY_BEEN_DEFEATED_I_SHALL_RETURN_AND_TAKE_YOUR_HEAD); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.THIS_IS_UNBELIEVABLE_HAVE_I_REALLY_BEEN_DEFEATED_I_SHALL_RETURN_AND_TAKE_YOUR_HEAD); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_CAST, SkillData.getInstance().getSkill(4235, 1), npc); } } diff --git a/trunk/dist/game/data/scripts/conquerablehalls/FortressOfTheDead/FortressOfTheDead.java b/trunk/dist/game/data/scripts/conquerablehalls/FortressOfTheDead/FortressOfTheDead.java index 0b231126fc..433e2b34e2 100644 --- a/trunk/dist/game/data/scripts/conquerablehalls/FortressOfTheDead/FortressOfTheDead.java +++ b/trunk/dist/game/data/scripts/conquerablehalls/FortressOfTheDead/FortressOfTheDead.java @@ -25,12 +25,12 @@ import java.util.Map.Entry; import com.l2jserver.gameserver.GameTimeController; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.data.sql.impl.ClanTable; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Clan; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.clanhall.ClanHallSiegeEngine; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Fortress of the Dead clan hall siege script. @@ -63,15 +63,15 @@ public final class FortressOfTheDead extends ClanHallSiegeEngine { if (npc.getId() == LIDIA) { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.HMM_THOSE_WHO_ARE_NOT_OF_THE_BLOODLINE_ARE_COMING_THIS_WAY_TO_TAKE_OVER_THE_CASTLE_HUMPH_THE_BITTER_GRUDGES_OF_THE_DEAD_YOU_MUST_NOT_MAKE_LIGHT_OF_THEIR_POWER); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.HMM_THOSE_WHO_ARE_NOT_OF_THE_BLOODLINE_ARE_COMING_THIS_WAY_TO_TAKE_OVER_THE_CASTLE_HUMPH_THE_BITTER_GRUDGES_OF_THE_DEAD_YOU_MUST_NOT_MAKE_LIGHT_OF_THEIR_POWER); } else if (npc.getId() == ALFRED) { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.HEH_HEH_I_SEE_THAT_THE_FEAST_HAS_BEGUN_BE_WARY_THE_CURSE_OF_THE_HELLMANN_FAMILY_HAS_POISONED_THIS_LAND); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.HEH_HEH_I_SEE_THAT_THE_FEAST_HAS_BEGUN_BE_WARY_THE_CURSE_OF_THE_HELLMANN_FAMILY_HAS_POISONED_THIS_LAND); } else if (npc.getId() == GISELLE) { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.ARISE_MY_FAITHFUL_SERVANTS_YOU_MY_PEOPLE_WHO_HAVE_INHERITED_THE_BLOOD_IT_IS_THE_CALLING_OF_MY_DAUGHTER_THE_FEAST_OF_BLOOD_WILL_NOW_BEGIN); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.ARISE_MY_FAITHFUL_SERVANTS_YOU_MY_PEOPLE_WHO_HAVE_INHERITED_THE_BLOOD_IT_IS_THE_CALLING_OF_MY_DAUGHTER_THE_FEAST_OF_BLOOD_WILL_NOW_BEGIN); } return null; } @@ -118,11 +118,11 @@ public final class FortressOfTheDead extends ClanHallSiegeEngine if ((npcId == ALFRED) || (npcId == GISELLE)) { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.AARGH_IF_I_DIE_THEN_THE_MAGIC_FORCE_FIELD_OF_BLOOD_WILL); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.AARGH_IF_I_DIE_THEN_THE_MAGIC_FORCE_FIELD_OF_BLOOD_WILL); } if (npcId == LIDIA) { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.GRARR_FOR_THE_NEXT_2_MINUTES_OR_SO_THE_GAME_ARENA_ARE_WILL_BE_CLEANED_THROW_ANY_ITEMS_YOU_DON_T_NEED_TO_THE_FLOOR_NOW); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.GRARR_FOR_THE_NEXT_2_MINUTES_OR_SO_THE_GAME_ARENA_ARE_WILL_BE_CLEANED_THROW_ANY_ITEMS_YOU_DON_T_NEED_TO_THE_FLOOR_NOW); _missionAccomplished = true; synchronized (this) { diff --git a/trunk/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java b/trunk/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java index 27b78c32a4..7010e3a0e0 100644 --- a/trunk/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java +++ b/trunk/dist/game/data/scripts/conquerablehalls/RainbowSpringsChateau/RainbowSpringsChateau.java @@ -37,6 +37,7 @@ import com.l2jserver.gameserver.cache.HtmCache; import com.l2jserver.gameserver.data.sql.impl.ClanTable; import com.l2jserver.gameserver.data.xml.impl.NpcData; import com.l2jserver.gameserver.datatables.SpawnTable; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.CHSiegeManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.L2Clan; @@ -55,7 +56,6 @@ import com.l2jserver.gameserver.model.entity.clanhall.SiegeStatus; import com.l2jserver.gameserver.model.items.L2Item; import com.l2jserver.gameserver.model.items.instance.L2ItemInstance; import com.l2jserver.gameserver.model.skills.Skill; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.util.Broadcast; import com.l2jserver.gameserver.util.Util; @@ -811,9 +811,7 @@ public final class RainbowSpringsChateau extends ClanHallSiegeEngine else { _usedTextPassages.put(message, new ArrayList()); - int shout = Say2.NPC_SHOUT; - int objId = npc.getObjectId(); - NpcSay say = new NpcSay(objId, shout, npc.getId(), message); + final NpcSay say = new NpcSay(npc.getObjectId(), ChatType.NPC_SHOUT, npc.getId(), message); npc.broadcastPacket(say); } } diff --git a/trunk/dist/game/data/scripts/custom/FactionManager/FactionManager.java b/trunk/dist/game/data/scripts/custom/FactionManager/FactionManager.java index 76443e1292..cb79b8f41c 100644 --- a/trunk/dist/game/data/scripts/custom/FactionManager/FactionManager.java +++ b/trunk/dist/game/data/scripts/custom/FactionManager/FactionManager.java @@ -21,10 +21,10 @@ package custom.FactionManager; import ai.npc.AbstractNpcAI; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; /** @@ -119,7 +119,7 @@ public class FactionManager extends AbstractNpcAI { if (npc != null) { - broadcastNpcSay(npc, Say2.NPC_ALL, TEXTS[getRandom(TEXTS.length)]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, TEXTS[getRandom(TEXTS.length)]); } break; } diff --git a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-1.htm b/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-1.htm deleted file mode 100644 index 1c0c1bfda8..0000000000 --- a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-1.htm +++ /dev/null @@ -1,3 +0,0 @@ -Newbie Guide:
-You have already received the Apprentice Adventurer's Weapon Exchange Coupon! Trying to trick me, eh? Don't underestimate my memory for faces! (Each character may only receive 1 Apprentice Adventurer's Weapon Exchange Coupon.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-2.htm b/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-2.htm deleted file mode 100644 index bb88adf072..0000000000 --- a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-2.htm +++ /dev/null @@ -1,4 +0,0 @@ -Newbie Guide:
-Here is the Apprentice Adventurer's Weapon Exchange Coupon.
-You can exchange this ticket for the No-Grade Shadow Weapon from the Adventure Guild warehouse. Keep in mind that this Exchange Coupon is reserved only for you. Should you lose either the ticket or the weapon you borrowed, you cannot get a new one. Guard it carefully! You can use the weapon warehouse if you visit the Newbie Guide in each town. I wish you a pleasant and prosperous journey! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-3.htm b/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-3.htm deleted file mode 100644 index e9d77c2469..0000000000 --- a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-3.htm +++ /dev/null @@ -1,3 +0,0 @@ -Newbie Guide:
-You are not eligible to have the Apprentice Adventurer's Weapon Exchange Coupon! It is reserved especially for new adventurers who are visiting the world of Lineage 2 for the first time. You may not receive the Exchange Coupon if your level is under 6 or you have completed an occupation change. (Only beginners who are between level 6 and level 19 may use it.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-4.htm b/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-4.htm deleted file mode 100644 index 99d30f4ab6..0000000000 --- a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-4.htm +++ /dev/null @@ -1,3 +0,0 @@ -Newbie Guide:
-You have already received the Apprentice Adventurer's Armor Exchange Coupon! Trying to trick me, eh? Don't underestimate my memory for faces! (Each character may only receive 1 Apprentice Adventurer's Armor Exchange Coupon.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-5.htm b/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-5.htm deleted file mode 100644 index 85c3165af8..0000000000 --- a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-5.htm +++ /dev/null @@ -1,4 +0,0 @@ -Newbie Guide:
-Here is the Apprentice Adventurer's Armor Exchange Coupon.
-You can exchange this ticket for the No-Grade Shadow Armor from the Adventure Guild warehouse. Keep in mind that this Exchange Coupon is reserved only for you. Should you lose either the ticket or the weapon you borrowed, you cannot get a new one. Guard it carefully! You can use the weapon warehouse if you visit the Newbie Guide in each town. I wish you a pleasant and prosperous journey! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-6.htm b/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-6.htm deleted file mode 100644 index e58b891d77..0000000000 --- a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-6.htm +++ /dev/null @@ -1,3 +0,0 @@ -Newbie Guide:
-You are not eligible to receive the Apprentice Adventurer's Armor Exchange Coupon! It is reserved for new adventurers visiting the world of Lineage 2 for the first time. Even then, you can not receive the ticket unless you have completed the first occupation change! (Only beginners who have completed the first occupation change may use it.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-7.htm b/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-7.htm deleted file mode 100644 index e6951f5960..0000000000 --- a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-7.htm +++ /dev/null @@ -1,3 +0,0 @@ -Newbie Guide:
-You are not eligible to use the warehouse. You may not receive the Exchange Coupon if your level is under 6 or you have completed an occupation change. (Only beginners who are between level 6 and level 19 may use the warehouse.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-8.htm b/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-8.htm deleted file mode 100644 index b3f8b32230..0000000000 --- a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598-8.htm +++ /dev/null @@ -1,3 +0,0 @@ -Newbie Guide:
-You are not eligible to use the warehouse. You must complete your first class change! (Only beginners who have completed the first class change may use the warehouse.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598.htm b/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598.htm deleted file mode 100644 index 647689bcc8..0000000000 --- a/trunk/dist/game/data/scripts/custom/NewbieCoupons/30598.htm +++ /dev/null @@ -1,9 +0,0 @@ -Newbie Guide:
-As token of congratulations, the Adventure Guild is pleased to open its warehouse to both apprentice adventurers who have reached level 6 as well as travelers who have completed their first occupation change. At level 6, you can borrow a No-Grade Shadow Weapon with the Apprentice Adventurer's Weapon Exchange Coupon. At level 20, you can borrow Shadow Armor with the Adventurer's Magic Armor Exchange Coupon. No-Grade Shadow Weapons can be exchanged up to level 19 and Shadow Armor can be exchanged up to level 39. -Now then: how can I help you?
-(Note: chaotic characters may not use weapons or armor borrowed from the Adventure Guild.)
- - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java b/trunk/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java deleted file mode 100644 index abfad9b3d0..0000000000 --- a/trunk/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package custom.NewbieCoupons; - -import com.l2jserver.gameserver.data.xml.impl.MultisellData; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; - -/** - * Newbie Weapon/Accesories Coupons for the Hellbound opening event.
- * Original Jython script by Vice. - * @author Nyaran - */ -public final class NewbieCoupons extends Quest -{ - private static final int COUPON_ONE = 7832; - private static final int COUPON_TWO = 7833; - - private static final int[] NPCs = - { - 30598, - 30599, - 30600, - 30601, - 30602, - 31076, - 31077, - 32135 - }; - - private static final int WEAPON_MULTISELL = 305986001; - private static final int ACCESORIES_MULTISELL = 305986002; - - // enable/disable coupon give - private static final boolean NEWBIE_COUPONS_ENABLED = true; - - /* - * Newbie/one time rewards section Any quest should rely on a unique bit, but it could be shared among quests that were mutually exclusive or race restricted. Bit //1 isn't used for backwards compatibility. This script uses 2 bits, one for newbie coupons and another for travelers These 2 bits - * happen to be the same used by the Miss Queen script - */ - private static final int NEWBIE_WEAPON = 16; - private static final int NEWBIE_ACCESORY = 32; - - private NewbieCoupons() - { - super(-1, NewbieCoupons.class.getSimpleName(), "custom"); - - for (int i : NPCs) - { - addStartNpc(i); - addTalkId(i); - } - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - if (!NEWBIE_COUPONS_ENABLED) - { - return htmltext; - } - - int newbie = player.getNewbie(); - int level = player.getLevel(); - int occupation_level = player.getClassId().level(); - int pkkills = player.getPkKills(); - if (event.equals("newbie_give_weapon_coupon")) - { - /* - * TODO: check if this is the very first character for this account would need a bit of SQL, or a core method to determine it. This condition should be stored by the core in the account_data table upon character creation. - */ - if ((level >= 6) && (level <= 39) && (pkkills == 0) && (occupation_level == 0)) - { - // check the player state against this quest newbie rewarding mark. - if ((newbie | NEWBIE_WEAPON) != newbie) - { - player.setNewbie(newbie | NEWBIE_WEAPON); - giveItems(player, COUPON_ONE, 5); - htmltext = "30598-2.htm"; // here's the coupon you requested - } - else - { - htmltext = "30598-1.htm"; // you got a coupon already! - } - } - else - { - htmltext = "30598-3.htm"; // you're not eligible to get a coupon (level caps, pkkills or already changed class) - } - } - else if (event.equals("newbie_give_armor_coupon")) - { - if ((level >= 6) && (level <= 39) && (pkkills == 0) && (occupation_level == 1)) - { - // check the player state against this quest newbie rewarding mark. - if ((newbie | NEWBIE_ACCESORY) != newbie) - { - player.setNewbie(newbie | NEWBIE_ACCESORY); - giveItems(player, COUPON_TWO, 1); - htmltext = "30598-5.htm"; // here's the coupon you requested - } - else - { - htmltext = "30598-4.htm"; // you got a coupon already! - } - } - else - { - htmltext = "30598-6.htm"; // you're not eligible to get a coupon (level caps, pkkills or didnt change class yet) - } - } - else if (event.equals("newbie_show_weapon")) - { - if ((level >= 6) && (level <= 39) && (pkkills == 0) && (occupation_level == 0)) - { - MultisellData.getInstance().separateAndSend(WEAPON_MULTISELL, player, npc, false); - return null; - } - htmltext = "30598-7.htm"; // you're not eligible to use warehouse - } - else if (event.equals("newbie_show_armor")) - { - if ((level >= 6) && (level <= 39) && (pkkills == 0) && (occupation_level > 0)) - { - MultisellData.getInstance().separateAndSend(ACCESORIES_MULTISELL, player, npc, false); - return null; - } - htmltext = "30598-8.htm"; // you're not eligible to use warehouse - } - - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - getQuestState(player, true); - - return "30598.htm"; - } - - public static void main(String args[]) - { - new NewbieCoupons(); - } -} diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-1.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-1.htm deleted file mode 100644 index b0572e4718..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-1.htm +++ /dev/null @@ -1,5 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
-
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-2.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-2.htm deleted file mode 100644 index dd5a173b2c..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-2.htm +++ /dev/null @@ -1,12 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-3.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-3.htm deleted file mode 100644 index d4f49777fb..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-3.htm +++ /dev/null @@ -1,5 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
-
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-4.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-4.htm deleted file mode 100644 index 27590f2682..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-4.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-5.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-5.htm deleted file mode 100644 index 0e03fe3271..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-5.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-6.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-6.htm deleted file mode 100644 index 5c60f09b41..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-6.htm +++ /dev/null @@ -1,9 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-7.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-7.htm deleted file mode 100644 index fc0785bb77..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-7.htm +++ /dev/null @@ -1,8 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-8.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-8.htm deleted file mode 100644 index 2be56bec07..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-8.htm +++ /dev/null @@ -1,7 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-9.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-9.htm deleted file mode 100644 index 4a05f3eba7..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598-9.htm +++ /dev/null @@ -1,13 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598.htm deleted file mode 100644 index 84e1fe95cd..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30598.htm +++ /dev/null @@ -1,12 +0,0 @@ -Newbie Guide:
-Which of the following best describes the one you seek?
- - - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-1.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-1.htm deleted file mode 100644 index fe00e822bf..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-1.htm +++ /dev/null @@ -1,5 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
-
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-2.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-2.htm deleted file mode 100644 index 97d38306be..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-2.htm +++ /dev/null @@ -1,12 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-3.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-3.htm deleted file mode 100644 index 7a7b5d900c..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-3.htm +++ /dev/null @@ -1,5 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
-
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-4.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-4.htm deleted file mode 100644 index 80d5252917..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-4.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-5.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-5.htm deleted file mode 100644 index 6cb8ed1874..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-5.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-6.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-6.htm deleted file mode 100644 index 6ab011f4d1..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-6.htm +++ /dev/null @@ -1,9 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-7.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-7.htm deleted file mode 100644 index 27e2ade693..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-7.htm +++ /dev/null @@ -1,7 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-8.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-8.htm deleted file mode 100644 index 095bf8f37b..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599-8.htm +++ /dev/null @@ -1,12 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599.htm deleted file mode 100644 index 041a2408ed..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30599.htm +++ /dev/null @@ -1,11 +0,0 @@ -Newbie Guide:
-Which of the following best describes the one you seek?
- - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-1.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-1.htm deleted file mode 100644 index 306d1cb700..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-1.htm +++ /dev/null @@ -1,5 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
-
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-2.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-2.htm deleted file mode 100644 index 1c507725c1..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-2.htm +++ /dev/null @@ -1,16 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - - - - - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-3.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-3.htm deleted file mode 100644 index 8af03d537d..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-3.htm +++ /dev/null @@ -1,5 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
-
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-4.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-4.htm deleted file mode 100644 index 4dfa6b0fe9..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-4.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-5.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-5.htm deleted file mode 100644 index 3b3ad0700f..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-5.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-6.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-6.htm deleted file mode 100644 index a15cfc2653..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-6.htm +++ /dev/null @@ -1,12 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-7.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-7.htm deleted file mode 100644 index a82431e5fe..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-7.htm +++ /dev/null @@ -1,7 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-8.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-8.htm deleted file mode 100644 index 3b3a431e59..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600-8.htm +++ /dev/null @@ -1,10 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600.htm deleted file mode 100644 index 27e8c885c2..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30600.htm +++ /dev/null @@ -1,11 +0,0 @@ -Newbie Guide:
-Which of the following best describes the one you seek?
- - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-1.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-1.htm deleted file mode 100644 index 8fe04db432..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-1.htm +++ /dev/null @@ -1,5 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
-
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-2.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-2.htm deleted file mode 100644 index 2f955b35e8..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-2.htm +++ /dev/null @@ -1,12 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-3.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-3.htm deleted file mode 100644 index c0bba9e6c6..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-3.htm +++ /dev/null @@ -1,10 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-4.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-4.htm deleted file mode 100644 index b1ff648caa..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-4.htm +++ /dev/null @@ -1,7 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-5.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-5.htm deleted file mode 100644 index 0bc9ebe9f0..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-5.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-6.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-6.htm deleted file mode 100644 index 95d33a3d19..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-6.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-7.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-7.htm deleted file mode 100644 index 7dbd969d85..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-7.htm +++ /dev/null @@ -1,7 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-8.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-8.htm deleted file mode 100644 index db7ac06ec5..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601-8.htm +++ /dev/null @@ -1,15 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - - - - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601.htm deleted file mode 100644 index c8e48a2472..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30601.htm +++ /dev/null @@ -1,11 +0,0 @@ -Newbie Guide:
-Which of the following best describes the one you seek?
- - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-1.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-1.htm deleted file mode 100644 index 38f2a96347..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-1.htm +++ /dev/null @@ -1,5 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
-
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-2.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-2.htm deleted file mode 100644 index 51ea85131c..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-2.htm +++ /dev/null @@ -1,12 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-3.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-3.htm deleted file mode 100644 index c0d9cd40e5..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-3.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-4.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-4.htm deleted file mode 100644 index abb83d0006..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-4.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-5.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-5.htm deleted file mode 100644 index 554706b58b..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-5.htm +++ /dev/null @@ -1,5 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
-
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-6.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-6.htm deleted file mode 100644 index 24df523753..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-6.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-7.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-7.htm deleted file mode 100644 index 25be3b0502..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-7.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-8.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-8.htm deleted file mode 100644 index 78a3a735cf..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-8.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-9.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-9.htm deleted file mode 100644 index 07fafc986f..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602-9.htm +++ /dev/null @@ -1,10 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the radar.
- - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602.htm deleted file mode 100644 index 0292b76a1b..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/30602.htm +++ /dev/null @@ -1,12 +0,0 @@ -Newbie Guide:
-Which of the following best describes the one you seek?
- - - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-1.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-1.htm deleted file mode 100644 index 48ede3112a..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-1.htm +++ /dev/null @@ -1,5 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the screen.
-
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-10.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-10.htm deleted file mode 100644 index 9537a73375..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-10.htm +++ /dev/null @@ -1,7 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the screen.
- - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-11.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-11.htm deleted file mode 100644 index 84d31b1bf1..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-11.htm +++ /dev/null @@ -1,7 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the screen.
- - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-12.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-12.htm deleted file mode 100644 index 02eb5d77e0..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-12.htm +++ /dev/null @@ -1,5 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the screen.
-
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-2.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-2.htm deleted file mode 100644 index 7c10735a50..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-2.htm +++ /dev/null @@ -1,12 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the screen.
- - - - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-3.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-3.htm deleted file mode 100644 index 156e06a18b..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-3.htm +++ /dev/null @@ -1,6 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the screen.
- -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-4.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-4.htm deleted file mode 100644 index 58bb3679de..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-4.htm +++ /dev/null @@ -1,7 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the screen.
- - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-5.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-5.htm deleted file mode 100644 index 96a9793135..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-5.htm +++ /dev/null @@ -1,13 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the screen.
- - - - - - - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-6.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-6.htm deleted file mode 100644 index 45d6c75af5..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-6.htm +++ /dev/null @@ -1,7 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the screen.
- -
-
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-7.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-7.htm deleted file mode 100644 index c4c9b58f33..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-7.htm +++ /dev/null @@ -1,8 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the screen.
- - - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-8.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-8.htm deleted file mode 100644 index 43b257297e..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-8.htm +++ /dev/null @@ -1,7 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the screen.
- - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-9.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-9.htm deleted file mode 100644 index 24180c4251..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135-9.htm +++ /dev/null @@ -1,7 +0,0 @@ -Newbie Guide:
-Select the one you seek below. Their location will be indicated on the screen.
- - -
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135.htm deleted file mode 100644 index 30a3c035e1..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/32135.htm +++ /dev/null @@ -1,15 +0,0 @@ -Newbie Guide:
-Where can we find the person you are seeking?
- - - - - - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/MoveToLoc.htm b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/MoveToLoc.htm deleted file mode 100644 index c7f6096c87..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/MoveToLoc.htm +++ /dev/null @@ -1,3 +0,0 @@ -Newbie Guide:
-If you want to meet the person you seek, move in the direction of the arrow. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java b/trunk/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java deleted file mode 100644 index dffc715b94..0000000000 --- a/trunk/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java +++ /dev/null @@ -1,317 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package custom.NpcLocationInfo; - -import com.l2jserver.gameserver.datatables.SpawnTable; -import com.l2jserver.gameserver.model.L2Spawn; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.util.Util; - -/** - * Npc Location Info AI. - * @author Nyaran - */ -public final class NpcLocationInfo extends Quest -{ - private static final int[] NPC = - { - 30598, - 30599, - 30600, - 30601, - 30602, - 32135 - }; - - private static final int[] NPCRADAR = - { - // Talking Island - 30006, // Gatekeeper Roxxy - 30039, // Captain Gilbert - 30040, // Guard Leon - 30041, // Guard Arnold - 30042, // Guard Abellos - 30043, // Guard Johnstone - 30044, // Guard Chiperan - 30045, // Guard Kenyos - 30046, // Guard Hanks - 30283, // Blacksmith Altran - 30003, // Trader Silvia - 30004, // Trader Katerina - 30001, // Trader Lector - 30002, // Trader Jackson - 30031, // High Priest Biotin - 30033, // Magister Baulro - 30035, // Magister Harrys - 30032, // Priest Yohanes - 30036, // Priest Petron - 30026, // Grand Master Bitz - 30027, // Master Gwinter - 30029, // Master Minia - 30028, // Master Pintage - 30054, // Warehouse Keeper Rant - 30055, // Warehouse Keeper Rolfe - 30005, // Warehouse Keeper Wilford - 30048, // Darin - 30312, // Lighthouse Keeper Rockswell - 30368, // Lilith - 30049, // Bonnie - 30047, // Wharf Manager Firon - 30497, // Edmond - 30050, // Elias - 30311, // Sir Collin Windawood - 30051, // Cristel - - // Dark Elf Vill - 30134, // Gatekeeper Jasmine - 30224, // Sentry Knight Rayla - 30348, // Sentry Nelsya - 30355, // Sentry Roselyn - 30347, // Sentry Marion - 30432, // Sentry Irene - 30356, // Sentry Altima - 30349, // Sentry Jenna - 30346, // Sentry Kayleen - 30433, // Sentry Kathaway - 30357, // Sentry Kristin - 30431, // Sentry Eriel - 30430, // Sentry Trionell - 30307, // Blacksmith Karrod - 30138, // Trader Minaless - 30137, // Trader Vollodos - 30135, // Trader Iria - 30136, // Trader Payne - 30143, // Master Trudy - 30360, // Master Harant - 30145, // Master Vlasty - 30135, // Magister Harne - 30144, // Tetrarch Vellior - 30358, // Tetrarch Thifiell - 30359, // Tetrarch Kaitar - 30141, // Tetrarch Talloth - 30139, // Warehouse Keeper Dorankus - 30140, // Warehouse Keeper Erviante - 30350, // Warehouse Freightman Carlon - 30421, // Varika - 30419, // Arkenia - 30130, // Abyssal Celebrant Undrias - 30351, // Astaron - 30353, // Jughead - 30354, // Jewel - - // Elven Village - 30146, // Gatekeeper Mirabel - 30285, // Sentinel Gartrandell - 30284, // Sentinel Knight Alberius - 30221, // Sentinel Rayen - 30217, // Sentinel Berros - 30219, // Sentinel Veltress - 30220, // Sentinel Starden - 30218, // Sentinel Kendell - 30216, // Sentinel Wheeler - 30363, // Blacksmith Aios - 30149, // Trader Creamees - 30150, // Trader Herbiel - 30148, // Trader Ariel - 30147, // Trader Unoren - 30155, // Master Ellenia - 30156, // Master Cobendell - 30157, // Magister Greenis - 30158, // Magister Esrandell - 30154, // Hierarch Asterios - 30153, // Warehouse Keeper Markius - 30152, // Warehouse Keeper Julia - 30151, // Warehouse Freightman Chad - 30423, // Northwind - 30414, // Rosella - 31853, // Treant Bremec - 30223, // Arujien - 30362, // Andellia - 30222, // Alshupes - 30371, // Thalia - 31852, // Pixy Murika - - // Dwarven Villa - 30540, // Gatekeeper Wirphy - 30541, // Protector Paion - 30542, // Defender Runant - 30543, // Defender Ethan - 30544, // Defender Cromwell - 30545, // Defender Proton - 30546, // Defender Dinkey - 30547, // Defender Tardyon - 30548, // Defender Nathan - 30531, // Iron Gate's Lockirin - 30532, // Golden Wheel's Spiron - 30533, // Silver Scale's Balanki - 30534, // Bronze Key's Keef - 30535, // Filaur of the Gray Pillar - 30536, // Black Anvil's Arin - 30525, // Head Blacksmith Bronk - 30526, // Blacksmith Brunon - 30527, // Blacksmith Silvera - 30518, // Trader Garita - 30519, // Trader Mion - 30516, // Trader Reep - 30517, // Trader Shari - 30520, // Warehouse Chief Reed - 30521, // Warehouse Freightman Murdoc - 30522, // Warehouse Keeper Airy - 30523, // Collector Gouph - 30524, // Collector Pippi - 30537, // Daichir, Priest of the Eart - 30650, // Priest of the Earth Gerald - 30538, // Priest of the Earth Zimenf - 30539, // Priestess of the Earth Chichirin - 30671, // Captain Croto - 30651, // Wanderer Dorf - 30550, // Gauri Twinklerock - 30554, // Miner Bolter - 30553, // Maryse Redbonnet - - // Orc Village - 30576, // Gatekeeper Tamil - 30577, // Praetorian Rukain - 30578, // Centurion Nakusin - 30579, // Centurion Tamai - 30580, // Centurion Parugon - 30581, // Centurion Orinak - 30582, // Centurion Tiku - 30583, // Centurion Petukai - 30584, // Centurion Vapook - 30569, // Prefect Brukurse - 30570, // Prefect Karukia - 30571, // Seer Tanapi - 30572, // Seer Livina - 30564, // Blacksmith Sumari - 30560, // Trader Uska - 30561, // Trader Papuma - 30558, // Trader Jakal - 30559, // Trader Kunai - 30562, // Warehouse Keeper Grookin - 30563, // Warehouse Keeper Imantu - 30565, // Flame Lord Kakai - 30566, // Atuba Chief Varkees - 30567, // Neruga Chief Tantus - 30568, // Urutu Chief Hatos - 30585, // Tataru Zu Hestui - 30587, // Gantaki Zu Urutu - - // Kamael Villag - 32163, // Gatekeeper Ragara - 32173, // Zerstorer Marcela - 32174, // Marksman Maddy - 32175, // Marksman Bixon - 32176, // Marksman Ambra - 32177, // Marksman Syzar - 32178, // Guard Karba - 32179, // Marksman Putin - 32180, // Marksman Kato - 32164, // Weapons Trader Erinu - 32165, // Armor Trader Zacon - 32168, // Magic Trader Janis - 32166, // Accessory Trader Treavi - 32167, // Consumption Goods Trader Neazel - 32141, // Master Nerga - 32142, // Master Tenor - 32143, // Master Belkis - 32144, // Master Sonya - 32145, // Grand Master Maynard - 32146, // Grand Master Valpor - 32139, // Hierarch Casca - 32140, // Hierarch Zenya - 32138, // Hierarch Kekropus - 32171, // Warehouse Chief Hoffa - 32170, // Warehouse Keeper Benis - 32172, // Warehouse Freightman Saylem - 32153, // High Priest Prana - 32154, // Grand Master Aldenia - 32155, // Priest Nabot - 32156, // Master Talbot - 32150, // Hight Prefect Took - 32151, // Prefect Harz - 32152, // Seer Henri - 32147, // Grand Master Libian - 32148, // Master Sydnet - 32149, // Magister Enea - 32160, // Grand Magister Devon - 32162, // Magister Martika - 32161, // Master Black - 32158, // Warehouse Chief Fisler - 32157, // Head Blacksmith Moka - 32159, // Blacksmith Kincaid - 32169, // Spellbook Trader Mifren - }; - - private NpcLocationInfo() - { - super(-1, NpcLocationInfo.class.getSimpleName(), "custom"); - addStartNpc(NPC); - addTalkId(NPC); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - - if (Util.isDigit(event)) - { - htmltext = null; - int npcId = Integer.parseInt(event); - - if (Util.contains(NPCRADAR, npcId)) - { - int x = 0, y = 0, z = 0; - final L2Spawn spawn = SpawnTable.getInstance().getFirstSpawn(npcId); - if (spawn != null) - { - x = spawn.getX(); - y = spawn.getY(); - z = spawn.getZ(); - } - addRadar(player, x, y, z); - htmltext = "MoveToLoc.htm"; - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - int npcId = npc.getId(); - getQuestState(player, true); - - if (Util.contains(NPC, npcId)) - { - htmltext = String.valueOf(npcId) + ".htm"; - } - - return htmltext; - } - - public static void main(String args[]) - { - new NpcLocationInfo(); - } -} diff --git a/trunk/dist/game/data/scripts/custom/RaidbossInfo/RaidbossInfo.java b/trunk/dist/game/data/scripts/custom/RaidbossInfo/RaidbossInfo.java deleted file mode 100644 index 4da19a2b19..0000000000 --- a/trunk/dist/game/data/scripts/custom/RaidbossInfo/RaidbossInfo.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package custom.RaidbossInfo; - -import java.util.ArrayList; -import java.util.List; - -import com.l2jserver.gameserver.data.xml.impl.NpcData; -import com.l2jserver.gameserver.datatables.SpawnTable; -import com.l2jserver.gameserver.model.L2Spawn; -import com.l2jserver.gameserver.model.Location; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.util.Util; - -/** - * Raidboss Info AI.
- * Original Jython script Kerberos. - * @author Nyaran - */ -public final class RaidbossInfo extends Quest -{ - // @formatter:off - private static final int[] NPC = - { - 31729, 31730, 31731, 31732, 31733, 31734, 31735, 31736, 31737, 31738, - 31739, 31740, 31741, 31742, 31743, 31744, 31745, 31746, 31747, 31748, - 31749, 31750, 31751, 31752, 31753, 31754, 31755, 31756, 31757, 31758, - 31759, 31760, 31761, 31762, 31763, 31764, 31765, 31766, 31767, 31768, - 31769, 31770, 31771, 31772, 31773, 31774, 31775, 31776, 31777, 31778, - 31779, 31780, 31781, 31782, 31783, 31784, 31785, 31786, 31787, 31788, - 31789, 31790, 31791, 31792, 31793, 31794, 31795, 31796, 31797, 31798, - 31799, 31800, 31801, 31802, 31803, 31804, 31805, 31806, 31807, 31808, - 31809, 31810, 31811, 31812, 31813, 31814, 31815, 31816, 31817, 31818, - 31819, 31820, 31821, 31822, 31823, 31824, 31825, 31826, 31827, 31828, - 31829, 31830, 31831, 31832, 31833, 31834, 31835, 31836, 31837, 31838, - 31839, 31840, 31841, 32337, 32338, 32339, 32340 - }; - // @formatter:on - private static final List RAIDS = new ArrayList<>(); - - private RaidbossInfo() - { - super(-1, RaidbossInfo.class.getSimpleName(), "custom"); - addStartNpc(NPC); - addTalkId(NPC); - - // Add all Raid Bosses to RAIDS list - for (L2NpcTemplate raid : NpcData.getInstance().getAllNpcOfClassType("L2RaidBoss")) - { - RAIDS.add(raid.getId()); - } - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - if (Util.isDigit(event)) - { - htmltext = null; - int bossId = Integer.parseInt(event); - - if (RAIDS.contains(bossId)) - { - final L2Spawn spawn = SpawnTable.getInstance().getFirstSpawn(bossId); - if (spawn != null) - { - final Location loc = spawn.getLocation(); - player.getRadar().addMarker(loc.getX(), loc.getY(), loc.getZ()); - } - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - return "info.htm"; - } - - public static void main(String args[]) - { - new RaidbossInfo(); - } -} diff --git a/trunk/dist/game/data/scripts/custom/RaidbossInfo/info.htm b/trunk/dist/game/data/scripts/custom/RaidbossInfo/info.htm deleted file mode 100644 index d4f211e1a5..0000000000 --- a/trunk/dist/game/data/scripts/custom/RaidbossInfo/info.htm +++ /dev/null @@ -1,9 +0,0 @@ -Raid Monster Information:
- - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level20.htm b/trunk/dist/game/data/scripts/custom/RaidbossInfo/level20.htm deleted file mode 100644 index 833b71ff57..0000000000 --- a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level20.htm +++ /dev/null @@ -1,26 +0,0 @@ -

- - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level30.htm b/trunk/dist/game/data/scripts/custom/RaidbossInfo/level30.htm deleted file mode 100644 index b61c0d25fd..0000000000 --- a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level30.htm +++ /dev/null @@ -1,35 +0,0 @@ -

- - - - - - -Grave Robber Boss Akata (lv30) - - - - - - - - - - - - - - - - - - - - - -Rayito the Looter (lv37) - - - -Nellis' Vengeful Spirit (lv39) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level40.htm b/trunk/dist/game/data/scripts/custom/RaidbossInfo/level40.htm deleted file mode 100644 index d257918483..0000000000 --- a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level40.htm +++ /dev/null @@ -1,35 +0,0 @@ -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level50.htm b/trunk/dist/game/data/scripts/custom/RaidbossInfo/level50.htm deleted file mode 100644 index bba7cdf4d6..0000000000 --- a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level50.htm +++ /dev/null @@ -1,35 +0,0 @@ -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level60.htm b/trunk/dist/game/data/scripts/custom/RaidbossInfo/level60.htm deleted file mode 100644 index 6dc4349aea..0000000000 --- a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level60.htm +++ /dev/null @@ -1,23 +0,0 @@ -

- - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level70.htm b/trunk/dist/game/data/scripts/custom/RaidbossInfo/level70.htm deleted file mode 100644 index 86a4c2e531..0000000000 --- a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level70.htm +++ /dev/null @@ -1,33 +0,0 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level80.htm b/trunk/dist/game/data/scripts/custom/RaidbossInfo/level80.htm deleted file mode 100644 index 658a953270..0000000000 --- a/trunk/dist/game/data/scripts/custom/RaidbossInfo/level80.htm +++ /dev/null @@ -1,23 +0,0 @@ -

- - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/custom/events/Race/Race.java b/trunk/dist/game/data/scripts/custom/events/Race/Race.java index 5741066e76..943ca834b7 100644 --- a/trunk/dist/game/data/scripts/custom/events/Race/Race.java +++ b/trunk/dist/game/data/scripts/custom/events/Race/Race.java @@ -26,6 +26,7 @@ import java.util.concurrent.ScheduledFuture; import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.datatables.SkillData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.quest.Event; @@ -381,7 +382,7 @@ public final class Race extends Event private void sendMessage(L2PcInstance player, String text) { - player.sendPacket(new CreatureSay(_npc.getObjectId(), 20, _npc.getName(), text)); + player.sendPacket(new CreatureSay(_npc.getObjectId(), ChatType.MPCC_ROOM, _npc.getName(), text)); } private void showMenu(L2PcInstance activeChar) diff --git a/trunk/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java b/trunk/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java index 2b41e3991f..af18e41412 100644 --- a/trunk/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java +++ b/trunk/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java @@ -18,6 +18,7 @@ */ package events.FreyaCelebration; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -26,7 +27,6 @@ import com.l2jserver.gameserver.model.itemcontainer.Inventory; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; import com.l2jserver.gameserver.util.Util; @@ -126,7 +126,7 @@ public final class FreyaCelebration extends LongTimeEvent { if (getRandom(100) < 5) { - CreatureSay cs = new CreatureSay(npc.getObjectId(), Say2.NPC_ALL, npc.getName(), NpcStringId.DEAR_S1_THINK_OF_THIS_AS_MY_APPRECIATION_FOR_THE_GIFT_TAKE_THIS_WITH_YOU_THERE_S_NOTHING_STRANGE_ABOUT_IT_IT_S_JUST_A_BIT_OF_MY_CAPRICIOUSNESS); + CreatureSay cs = new CreatureSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getName(), NpcStringId.DEAR_S1_THINK_OF_THIS_AS_MY_APPRECIATION_FOR_THE_GIFT_TAKE_THIS_WITH_YOU_THERE_S_NOTHING_STRANGE_ABOUT_IT_IT_S_JUST_A_BIT_OF_MY_CAPRICIOUSNESS); cs.addStringParameter(caster.getName()); npc.broadcastPacket(cs); @@ -137,7 +137,7 @@ public final class FreyaCelebration extends LongTimeEvent { if (getRandom(10) < 2) { - npc.broadcastPacket(new CreatureSay(npc.getObjectId(), Say2.NPC_ALL, npc.getName(), FREYA_TEXT[getRandom(FREYA_TEXT.length - 1)])); + npc.broadcastPacket(new CreatureSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getName(), FREYA_TEXT[getRandom(FREYA_TEXT.length - 1)])); } } } diff --git a/trunk/dist/game/data/scripts/gracia/AI/EnergySeeds.java b/trunk/dist/game/data/scripts/gracia/AI/EnergySeeds.java index 2d476faa0b..dc8c9e6841 100644 --- a/trunk/dist/game/data/scripts/gracia/AI/EnergySeeds.java +++ b/trunk/dist/game/data/scripts/gracia/AI/EnergySeeds.java @@ -21,15 +21,12 @@ package gracia.AI; import java.util.Map; import javolution.util.FastMap; -import quests.Q00692_HowtoOpposeEvil.Q00692_HowtoOpposeEvil; import ai.npc.AbstractNpcAI; -import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.data.xml.impl.DoorData; import com.l2jserver.gameserver.data.xml.impl.NpcData; -import com.l2jserver.gameserver.enums.QuestSound; import com.l2jserver.gameserver.idfactory.IdFactory; import com.l2jserver.gameserver.instancemanager.GraciaSeedsManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; @@ -41,7 +38,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate; -import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.model.zone.L2ZoneType; import com.l2jserver.gameserver.network.SystemMessageId; @@ -54,7 +50,6 @@ import com.l2jserver.gameserver.util.Util; */ public class EnergySeeds extends AbstractNpcAI { - private static final int HOWTOOPPOSEEVIL_CHANCE = 60; private static final int RATE = 1; private static final int RESPAWN = 480000; private static final int RANDOM_RESPAWN_OFFSET = 180000; @@ -316,26 +311,9 @@ public class EnergySeeds extends AbstractNpcAI { return; } - QuestState st = player.getQuestState(Q00692_HowtoOpposeEvil.class.getSimpleName()); switch (seedType) { - case INFINITY: - if ((st != null) && st.isCond(3)) - { - handleQuestDrop(player, 13798); - } - break; - case DESTRUCTION: - if ((st != null) && st.isCond(3)) - { - handleQuestDrop(player, 13867); - } - break; case ANNIHILATION_BISTAKON: - if ((st != null) && st.isCond(3)) - { - handleQuestDrop(player, 15535); - } if (getRandom(100) < 50) { L2MonsterInstance mob = spawnSupriseMob(seedEnergy, ANNIHILATION_SUPRISE_MOB_IDS[0][getRandom(ANNIHILATION_SUPRISE_MOB_IDS[0].length)]); @@ -345,10 +323,6 @@ public class EnergySeeds extends AbstractNpcAI } break; case ANNIHILATION_REPTILIKON: - if ((st != null) && st.isCond(3)) - { - handleQuestDrop(player, 15535); - } if (getRandom(100) < 50) { L2MonsterInstance mob = spawnSupriseMob(seedEnergy, ANNIHILATION_SUPRISE_MOB_IDS[1][getRandom(ANNIHILATION_SUPRISE_MOB_IDS[1].length)]); @@ -358,10 +332,6 @@ public class EnergySeeds extends AbstractNpcAI } break; case ANNIHILATION_COKRAKON: - if ((st != null) && st.isCond(3)) - { - handleQuestDrop(player, 15535); - } if (getRandom(100) < 50) { L2MonsterInstance mob = spawnSupriseMob(seedEnergy, ANNIHILATION_SUPRISE_MOB_IDS[2][getRandom(ANNIHILATION_SUPRISE_MOB_IDS[2].length)]); @@ -386,22 +356,6 @@ public class EnergySeeds extends AbstractNpcAI return monster; } - private void handleQuestDrop(L2PcInstance player, int itemId) - { - double chance = HOWTOOPPOSEEVIL_CHANCE * Config.RATE_QUEST_DROP; - int numItems = (int) (chance / 100); - chance = chance % 100; - if (getRandom(100) < chance) - { - numItems++; - } - if (numItems > 0) - { - giveItems(player, itemId, numItems); - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - private void addSpawnsToList() { // Seed of Destruction diff --git a/trunk/dist/game/data/scripts/gracia/AI/Lindvior.java b/trunk/dist/game/data/scripts/gracia/AI/Lindvior.java index 599ad2bd15..8f1aa0f59c 100644 --- a/trunk/dist/game/data/scripts/gracia/AI/Lindvior.java +++ b/trunk/dist/game/data/scripts/gracia/AI/Lindvior.java @@ -24,10 +24,10 @@ import java.util.GregorianCalendar; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.datatables.SpawnTable; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Lindvior Scene AI. @@ -65,13 +65,13 @@ public class Lindvior extends AbstractNpcAI switch (event) { case "tomaris_shout1": - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.HUH_THE_SKY_LOOKS_FUNNY_WHAT_S_THAT); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.HUH_THE_SKY_LOOKS_FUNNY_WHAT_S_THAT); break; case "artius_shout": - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.A_POWERFUL_SUBORDINATE_IS_BEING_HELD_BY_THE_BARRIER_ORB_THIS_REACTION_MEANS); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.A_POWERFUL_SUBORDINATE_IS_BEING_HELD_BY_THE_BARRIER_ORB_THIS_REACTION_MEANS); break; case "tomaris_shout2": - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.BE_CAREFUL_SOMETHING_S_COMING); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.BE_CAREFUL_SOMETHING_S_COMING); break; case "lindvior_scene": if (npc != null) diff --git a/trunk/dist/game/data/scripts/gracia/AI/NPC/GeneralDilios/GeneralDilios.java b/trunk/dist/game/data/scripts/gracia/AI/NPC/GeneralDilios/GeneralDilios.java index 7725619852..8cd94607df 100644 --- a/trunk/dist/game/data/scripts/gracia/AI/NPC/GeneralDilios/GeneralDilios.java +++ b/trunk/dist/game/data/scripts/gracia/AI/NPC/GeneralDilios/GeneralDilios.java @@ -24,11 +24,11 @@ import java.util.concurrent.ConcurrentHashMap; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Spawn; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -70,13 +70,13 @@ public final class GeneralDilios extends AbstractNpcAI int value = Integer.parseInt(event.substring(8)); if (value < 6) { - _general.broadcastPacket(new NpcSay(_general.getObjectId(), Say2.NPC_ALL, GENERAL_ID, NpcStringId.STABBING_THREE_TIMES)); + _general.broadcastPacket(new NpcSay(_general.getObjectId(), ChatType.NPC_GENERAL, GENERAL_ID, NpcStringId.STABBING_THREE_TIMES)); startQuestTimer("guard_animation_0", 3400, null, null); } else { value = -1; - _general.broadcastPacket(new NpcSay(_general.getObjectId(), Say2.NPC_SHOUT, GENERAL_ID, DILIOS_TEXT[getRandom(DILIOS_TEXT.length)])); + _general.broadcastPacket(new NpcSay(_general.getObjectId(), ChatType.NPC_SHOUT, GENERAL_ID, DILIOS_TEXT[getRandom(DILIOS_TEXT.length)])); } startQuestTimer("command_" + (value + 1), 60000, null, null); } diff --git a/trunk/dist/game/data/scripts/gracia/AI/NPC/Seyo/Seyo.java b/trunk/dist/game/data/scripts/gracia/AI/NPC/Seyo/Seyo.java index f38a732712..6b0df19e9b 100644 --- a/trunk/dist/game/data/scripts/gracia/AI/NPC/Seyo/Seyo.java +++ b/trunk/dist/game/data/scripts/gracia/AI/NPC/Seyo/Seyo.java @@ -20,10 +20,10 @@ package gracia.AI.NPC.Seyo; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Seyo AI. @@ -68,7 +68,7 @@ public final class Seyo extends AbstractNpcAI if (npc.isScriptValue(1)) { npc.setScriptValue(0); - broadcastNpcSay(npc, Say2.NPC_ALL, TEXT[getRandom(TEXT.length)]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, TEXT[getRandom(TEXT.length)]); } break; } @@ -89,11 +89,11 @@ public final class Seyo extends AbstractNpcAI if (getRandom(100) == 0) { giveItems(player, STONE_FRAGMENT, 100); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.AMAZING_S1_TOOK_100_OF_THESE_SOUL_STONE_FRAGMENTS_WHAT_A_COMPLETE_SWINDLER, player.getName()); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.AMAZING_S1_TOOK_100_OF_THESE_SOUL_STONE_FRAGMENTS_WHAT_A_COMPLETE_SWINDLER, player.getName()); } else { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.HMM_HEY_DID_YOU_GIVE_S1_SOMETHING_BUT_IT_WAS_JUST_1_HAHA, player.getName()); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.HMM_HEY_DID_YOU_GIVE_S1_SOMETHING_BUT_IT_WAS_JUST_1_HAHA, player.getName()); } startQuestTimer("TRICKERY_TIMER", 5000, npc, null); } @@ -116,18 +116,18 @@ public final class Seyo extends AbstractNpcAI final int chance = getRandom(100); if (chance < 20) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.AHEM_S1_HAS_NO_LUCK_AT_ALL_TRY_PRAYING, player.getName()); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.AHEM_S1_HAS_NO_LUCK_AT_ALL_TRY_PRAYING, player.getName()); } else if (chance < 80) { giveItems(player, STONE_FRAGMENT, 1); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.IT_S_BETTER_THAN_LOSING_IT_ALL_RIGHT_OR_DOES_THIS_FEEL_WORSE); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.IT_S_BETTER_THAN_LOSING_IT_ALL_RIGHT_OR_DOES_THIS_FEEL_WORSE); } else { final int itemCount = getRandom(10, 16); giveItems(player, STONE_FRAGMENT, itemCount); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.S1_PULLED_ONE_WITH_S2_DIGITS_LUCKY_NOT_BAD, player.getName(), String.valueOf(itemCount)); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.S1_PULLED_ONE_WITH_S2_DIGITS_LUCKY_NOT_BAD, player.getName(), String.valueOf(itemCount)); } startQuestTimer("TRICKERY_TIMER", 5000, npc, null); } @@ -151,17 +151,17 @@ public final class Seyo extends AbstractNpcAI if (chance == 0) { giveItems(player, STONE_FRAGMENT, 10000); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.AH_IT_S_OVER_WHAT_KIND_OF_GUY_IS_THAT_DAMN_FINE_YOU_S1_TAKE_IT_AND_GET_OUTTA_HERE, player.getName()); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.AH_IT_S_OVER_WHAT_KIND_OF_GUY_IS_THAT_DAMN_FINE_YOU_S1_TAKE_IT_AND_GET_OUTTA_HERE, player.getName()); } else if (chance < 10) { giveItems(player, STONE_FRAGMENT, 1); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.YOU_DON_T_FEEL_BAD_RIGHT_ARE_YOU_SAD_BUT_DON_T_CRY); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.YOU_DON_T_FEEL_BAD_RIGHT_ARE_YOU_SAD_BUT_DON_T_CRY); } else { giveItems(player, STONE_FRAGMENT, getRandom(1, 100)); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.A_BIG_PIECE_IS_MADE_UP_OF_LITTLE_PIECES_SO_HERE_S_A_LITTLE_PIECE); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.A_BIG_PIECE_IS_MADE_UP_OF_LITTLE_PIECES_SO_HERE_S_A_LITTLE_PIECE); } startQuestTimer("TRICKERY_TIMER", 5000, npc, null); } diff --git a/trunk/dist/game/data/scripts/gracia/vehicles/AirShipController.java b/trunk/dist/game/data/scripts/gracia/vehicles/AirShipController.java index dfb5878dd0..eb048948c1 100644 --- a/trunk/dist/game/data/scripts/gracia/vehicles/AirShipController.java +++ b/trunk/dist/game/data/scripts/gracia/vehicles/AirShipController.java @@ -23,6 +23,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import com.l2jserver.gameserver.ThreadPoolManager; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.AirShipManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.ClanPrivilege; @@ -38,7 +39,6 @@ import com.l2jserver.gameserver.model.zone.L2ZoneType; import com.l2jserver.gameserver.model.zone.type.L2ScriptZone; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; @@ -168,7 +168,7 @@ public abstract class AirShipController extends Quest if (_arrivalMessage == null) { - _arrivalMessage = new NpcSay(npc.getObjectId(), Say2.NPC_SHOUT, npc.getId(), NpcStringId.THE_AIRSHIP_HAS_BEEN_SUMMONED_IT_WILL_AUTOMATICALLY_DEPART_IN_5_MINUTES); + _arrivalMessage = new NpcSay(npc.getObjectId(), ChatType.NPC_SHOUT, npc.getId(), NpcStringId.THE_AIRSHIP_HAS_BEEN_SUMMONED_IT_WILL_AUTOMATICALLY_DEPART_IN_5_MINUTES); } npc.broadcastPacket(_arrivalMessage); diff --git a/trunk/dist/game/data/scripts/gracia/vehicles/AirShipGludioGracia/AirShipGludioGracia.java b/trunk/dist/game/data/scripts/gracia/vehicles/AirShipGludioGracia/AirShipGludioGracia.java index 6d456be940..a8a827e737 100644 --- a/trunk/dist/game/data/scripts/gracia/vehicles/AirShipGludioGracia/AirShipGludioGracia.java +++ b/trunk/dist/game/data/scripts/gracia/vehicles/AirShipGludioGracia/AirShipGludioGracia.java @@ -19,6 +19,7 @@ package gracia.vehicles.AirShipGludioGracia; import com.l2jserver.gameserver.ThreadPoolManager; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.AirShipManager; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2World; @@ -30,7 +31,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -131,7 +131,7 @@ public final class AirShipGludioGracia extends Quest implements Runnable } if (_atcGludio != null) { - _atcGludio.broadcastPacket(new NpcSay(_atcGludio.getObjectId(), Say2.NPC_SHOUT, _atcGludio.getId(), npcString)); + _atcGludio.broadcastPacket(new NpcSay(_atcGludio.getObjectId(), ChatType.NPC_SHOUT, _atcGludio.getId(), npcString)); } } @@ -144,7 +144,7 @@ public final class AirShipGludioGracia extends Quest implements Runnable } if (_atcGracia != null) { - _atcGracia.broadcastPacket(new NpcSay(_atcGracia.getObjectId(), Say2.NPC_SHOUT, _atcGracia.getId(), npcStringId)); + _atcGracia.broadcastPacket(new NpcSay(_atcGracia.getObjectId(), ChatType.NPC_SHOUT, _atcGracia.getId(), npcStringId)); } } diff --git a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java index df7528e894..bd5a38ff23 100644 --- a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java +++ b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminAdmin.java @@ -25,6 +25,7 @@ import javolution.text.TextBuilder; import com.l2jserver.Config; import com.l2jserver.gameserver.data.xml.impl.AdminData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2World; @@ -32,7 +33,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.Hero; import com.l2jserver.gameserver.model.olympiad.Olympiad; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.network.serverpackets.ExWorldChatCnt; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; @@ -311,7 +311,7 @@ public class AdminAdmin implements IAdminCommandHandler sb.append(" "); } - final CreatureSay cs = new CreatureSay(activeChar, Say2.GLOBAL, sb.toString()); + final CreatureSay cs = new CreatureSay(activeChar, ChatType.GLOBAL, sb.toString()); L2World.getInstance().getPlayers().stream().filter(activeChar::isNotBlocked).forEach(cs::sendTo); break; } diff --git a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminEffects.java b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminEffects.java index ab4f684f66..ab5226bc4d 100644 --- a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminEffects.java +++ b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminEffects.java @@ -681,19 +681,19 @@ public class AdminEffects implements IAdminCommandHandler { try { - if (target instanceof L2Character) + if (target.isCharacter()) { if (target instanceof L2ChestInstance) { activeChar.sendPacket(SystemMessageId.NOTHING_HAPPENED); return false; } - if ((target instanceof L2Npc) && ((action < 1) || (action > 3))) + if ((target.isNpc()) && ((action < 1) || (action > 20))) { activeChar.sendPacket(SystemMessageId.NOTHING_HAPPENED); return false; } - if ((target instanceof L2PcInstance) && ((action < 2) || ((action > 18) && (action != SocialAction.LEVEL_UP)))) + if ((target.isPlayer()) && ((action < 2) || ((action > 18) && (action != SocialAction.LEVEL_UP)))) { activeChar.sendPacket(SystemMessageId.NOTHING_HAPPENED); return false; diff --git a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminGmChat.java b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminGmChat.java index f47e64ed3b..dbea70165d 100644 --- a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminGmChat.java +++ b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminGmChat.java @@ -19,12 +19,12 @@ package handlers.admincommandhandlers; import com.l2jserver.gameserver.data.xml.impl.AdminData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; /** @@ -115,7 +115,7 @@ public class AdminGmChat implements IAdminCommandHandler offset = 13; } text = command.substring(offset); - CreatureSay cs = new CreatureSay(0, Say2.ALLIANCE, activeChar.getName(), text); + CreatureSay cs = new CreatureSay(0, ChatType.ALLIANCE, activeChar.getName(), text); AdminData.getInstance().broadcastToGMs(cs); } catch (StringIndexOutOfBoundsException e) diff --git a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminTargetSay.java b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminTargetSay.java index b36ce7bbd9..899e935317 100644 --- a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminTargetSay.java +++ b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminTargetSay.java @@ -18,13 +18,13 @@ */ package handlers.admincommandhandlers; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.actor.instance.L2StaticObjectInstance; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; /** @@ -54,7 +54,7 @@ public class AdminTargetSay implements IAdminCommandHandler final String message = command.substring(16); final L2Character target = (L2Character) obj; - target.broadcastPacket(new CreatureSay(target.getObjectId(), (target.isPlayer() ? Say2.ALL : Say2.NPC_ALL), target.getName(), message)); + target.broadcastPacket(new CreatureSay(target.getObjectId(), target.isPlayer() ? ChatType.GENERAL : ChatType.NPC_GENERAL, target.getName(), message)); } catch (StringIndexOutOfBoundsException e) { diff --git a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatAll.java b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatAll.java index d58d3cdf9f..2aaab2b1c4 100644 --- a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatAll.java +++ b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatAll.java @@ -18,44 +18,42 @@ */ package handlers.chathandlers; -import java.util.Collection; import java.util.StringTokenizer; import java.util.logging.Logger; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.handler.IVoicedCommandHandler; import com.l2jserver.gameserver.handler.VoicedCommandHandler; import com.l2jserver.gameserver.model.BlockList; +import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; +import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** - * A chat handler + * General Chat Handler. * @author durgus */ -public class ChatAll implements IChatHandler +public final class ChatAll implements IChatHandler { private static Logger _log = Logger.getLogger(ChatAll.class.getName()); - private static final int[] COMMAND_IDS = + private static final ChatType[] CHAT_TYPES = { - 0 + ChatType.GENERAL, }; - /** - * Handle chat type 'all' - */ @Override - public void handleChat(int type, L2PcInstance activeChar, String params, String text) + public void handleChat(ChatType type, L2PcInstance activeChar, String params, String text) { boolean vcd_used = false; if (text.startsWith(".")) { - StringTokenizer st = new StringTokenizer(text); - IVoicedCommandHandler vch; + final StringTokenizer st = new StringTokenizer(text); + final IVoicedCommandHandler vch; String command = ""; if (st.countTokens() > 1) @@ -87,42 +85,34 @@ public class ChatAll implements IChatHandler vcd_used = false; } } + if (!vcd_used) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && Config.BAN_CHAT_CHANNELS.contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); return; } - /** - * Match the character "." literally (Exactly 1 time) Match any character that is NOT a . character. Between one and unlimited times as possible, giving back as needed (greedy) - */ - if (text.matches("\\.{1}[^\\.]+")) + if ((activeChar.getLevel() < Config.MINIMUM_CHAT_LEVEL) && !activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS)) { - activeChar.sendPacket(SystemMessageId.INCORRECT_SYNTAX); + activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.PLAYERS_CAN_USE_GENERAL_CHAT_AFTER_LV_S1).addInt(Config.MINIMUM_CHAT_LEVEL)); + return; } - else + + final CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getAppearance().getVisibleName(), text); + final CreatureSay csRandom = new CreatureSay(activeChar.getObjectId(), type, activeChar.getAppearance().getVisibleName(), ChatRandomizer.randomize(text)); + for (L2PcInstance player : activeChar.getKnownList().getKnownPlayers().values()) { - CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getAppearance().getVisibleName(), text); - CreatureSay csRandom = new CreatureSay(activeChar.getObjectId(), type, activeChar.getAppearance().getVisibleName(), ChatRandomizer.randomize(text)); - Collection plrs = activeChar.getKnownList().getKnownPlayers().values(); - for (L2PcInstance player : plrs) + if ((player != null) && activeChar.isInsideRadius(player, 1250, false, true) && !BlockList.isBlocked(player, activeChar)) { - if ((player != null) && activeChar.isInsideRadius(player, 1250, false, true) && !BlockList.isBlocked(player, activeChar)) + if (Config.FACTION_SYSTEM_ENABLED) { - if (Config.FACTION_SYSTEM_ENABLED) + if (Config.FACTION_SPECIFIC_CHAT) { - if (Config.FACTION_SPECIFIC_CHAT) + if ((activeChar.isGood() && player.isEvil()) || (activeChar.isEvil() && player.isGood())) { - if ((activeChar.isGood() && player.isEvil()) || (activeChar.isEvil() && player.isGood())) - { - player.sendPacket(csRandom); - } - else - { - player.sendPacket(cs); - } + player.sendPacket(csRandom); } else { @@ -134,19 +124,20 @@ public class ChatAll implements IChatHandler player.sendPacket(cs); } } + else + { + player.sendPacket(cs); + } } - - activeChar.sendPacket(cs); } + + activeChar.sendPacket(cs); } } - /** - * Returns the chat types registered to this handler. - */ @Override - public int[] getChatTypeList() + public ChatType[] getChatTypeList() { - return COMMAND_IDS; + return CHAT_TYPES; } -} +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatAlliance.java b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatAlliance.java index 3e49c8cb50..ff1b68ba0c 100644 --- a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatAlliance.java +++ b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatAlliance.java @@ -19,44 +19,42 @@ package handlers.chathandlers; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; -public class ChatAlliance implements IChatHandler +/** + * Alliance Chat Handler. + */ +public final class ChatAlliance implements IChatHandler { - private static final int[] COMMAND_IDS = + private static final ChatType[] CHAT_TYPES = { - 9 + ChatType.ALLIANCE, }; - /** - * Handle chat type 'alliance' - */ @Override - public void handleChat(int type, L2PcInstance activeChar, String target, String text) + public void handleChat(ChatType type, L2PcInstance activeChar, String target, String text) { - if (activeChar.getClan() != null) + if ((activeChar.getClan() == null) || ((activeChar.getClan() != null) && (activeChar.getClan().getAllyId() == 0))) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) - { - activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); - return; - } - - CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); - activeChar.getClan().broadcastToOnlineAllyMembers(cs); + activeChar.sendPacket(SystemMessageId.YOU_ARE_NOT_IN_AN_ALLIANCE); + return; } + + if (activeChar.isChatBanned() && Config.BAN_CHAT_CHANNELS.contains(type)) + { + activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); + return; + } + activeChar.getClan().broadcastToOnlineAllyMembers(new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text)); } - /** - * Returns the chat types registered to this handler. - */ @Override - public int[] getChatTypeList() + public ChatType[] getChatTypeList() { - return COMMAND_IDS; + return CHAT_TYPES; } -} +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatClan.java b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatClan.java index 5963a69530..8cb12e2083 100644 --- a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatClan.java +++ b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatClan.java @@ -19,48 +19,43 @@ package handlers.chathandlers; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** - * A chat handler + * Clan chat handler * @author durgus */ -public class ChatClan implements IChatHandler +public final class ChatClan implements IChatHandler { - private static final int[] COMMAND_IDS = + private static final ChatType[] CHAT_TYPES = { - 4 + ChatType.CLAN, }; - /** - * Handle chat type 'clan' - */ @Override - public void handleChat(int type, L2PcInstance activeChar, String target, String text) + public void handleChat(ChatType type, L2PcInstance activeChar, String target, String text) { - if (activeChar.getClan() != null) + if (activeChar.getClan() == null) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) - { - activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); - return; - } - - CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); - activeChar.getClan().broadcastCSToOnlineMembers(cs, activeChar); + activeChar.sendPacket(SystemMessageId.YOU_ARE_NOT_IN_A_CLAN); + return; } + + if (activeChar.isChatBanned() && Config.BAN_CHAT_CHANNELS.contains(type)) + { + activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); + return; + } + activeChar.getClan().broadcastCSToOnlineMembers(new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text), activeChar); } - /** - * Returns the chat types registered to this handler. - */ @Override - public int[] getChatTypeList() + public ChatType[] getChatTypeList() { - return COMMAND_IDS; + return CHAT_TYPES; } -} +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatHeroVoice.java b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatHeroVoice.java index aa9193651b..7f6d608541 100644 --- a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatHeroVoice.java +++ b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatHeroVoice.java @@ -19,6 +19,7 @@ package handlers.chathandlers; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.BlockList; import com.l2jserver.gameserver.model.L2World; @@ -26,54 +27,49 @@ import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** * Hero chat handler. * @author durgus */ -public class ChatHeroVoice implements IChatHandler +public final class ChatHeroVoice implements IChatHandler { - private static final int[] COMMAND_IDS = + private static final ChatType[] CHAT_TYPES = { - 17 + ChatType.HERO_VOICE, }; - /** - * Handle chat type 'hero voice' - */ @Override - public void handleChat(int type, L2PcInstance activeChar, String target, String text) + public void handleChat(ChatType type, L2PcInstance activeChar, String target, String text) { - if (activeChar.isHero() || activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS)) + if (!activeChar.isHero() && !activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS)) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + activeChar.sendPacket(SystemMessageId.ONLY_HEROES_CAN_ENTER_THE_HERO_CHANNEL); + return; + } + + if (activeChar.isChatBanned() && Config.BAN_CHAT_CHANNELS.contains(type)) + { + activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); + return; + } + + if (!activeChar.getFloodProtectors().getHeroVoice().tryPerformAction("hero voice")) + { + activeChar.sendMessage("Action failed. Heroes are only able to speak in the global channel once every 10 seconds."); + return; + } + + final CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); + for (L2PcInstance player : L2World.getInstance().getPlayers()) + { + if ((player != null) && !BlockList.isBlocked(player, activeChar)) { - activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); - return; - } - - if (!activeChar.getFloodProtectors().getHeroVoice().tryPerformAction("hero voice")) - { - activeChar.sendMessage("Action failed. Heroes are only able to speak in the global channel once every 10 seconds."); - return; - } - - CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); - for (L2PcInstance player : L2World.getInstance().getPlayers()) - { - if ((player != null) && !BlockList.isBlocked(player, activeChar)) + if (Config.FACTION_SYSTEM_ENABLED) { - if (Config.FACTION_SYSTEM_ENABLED) + if (Config.FACTION_SPECIFIC_CHAT) { - if (Config.FACTION_SPECIFIC_CHAT) - { - if ((activeChar.isGood() && player.isGood()) || (activeChar.isEvil() && player.isEvil())) - { - player.sendPacket(cs); - } - } - else + if ((activeChar.isGood() && player.isGood()) || (activeChar.isEvil() && player.isEvil())) { player.sendPacket(cs); } @@ -83,16 +79,17 @@ public class ChatHeroVoice implements IChatHandler player.sendPacket(cs); } } + else + { + player.sendPacket(cs); + } } } } - /** - * Returns the chat types registered to this handler. - */ @Override - public int[] getChatTypeList() + public ChatType[] getChatTypeList() { - return COMMAND_IDS; + return CHAT_TYPES; } -} +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatParty.java b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatParty.java index fa409c0dbe..e3a93ecd38 100644 --- a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatParty.java +++ b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatParty.java @@ -19,48 +19,43 @@ package handlers.chathandlers; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** - * A chat handler + * Party chat handler. * @author durgus */ -public class ChatParty implements IChatHandler +public final class ChatParty implements IChatHandler { - private static final int[] COMMAND_IDS = + private static final ChatType[] CHAT_TYPES = { - 3 + ChatType.PARTY, }; - /** - * Handle chat type 'party' - */ @Override - public void handleChat(int type, L2PcInstance activeChar, String target, String text) + public void handleChat(ChatType type, L2PcInstance activeChar, String target, String text) { - if (activeChar.isInParty()) + if (!activeChar.isInParty()) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) - { - activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); - return; - } - - CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); - activeChar.getParty().broadcastCreatureSay(cs, activeChar); + activeChar.sendPacket(SystemMessageId.YOU_ARE_NOT_IN_A_PARTY); + return; } + + if (activeChar.isChatBanned() && Config.BAN_CHAT_CHANNELS.contains(type)) + { + activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); + return; + } + activeChar.getParty().broadcastCreatureSay(new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text), activeChar); } - /** - * Returns the chat types registered to this handler. - */ @Override - public int[] getChatTypeList() + public ChatType[] getChatTypeList() { - return COMMAND_IDS; + return CHAT_TYPES; } -} +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPartyMatchRoom.java b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPartyMatchRoom.java index c6ff8f78f1..b99fd40e90 100644 --- a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPartyMatchRoom.java +++ b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPartyMatchRoom.java @@ -19,43 +19,40 @@ package handlers.chathandlers; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.PartyMatchRoom; import com.l2jserver.gameserver.model.PartyMatchRoomList; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** - * A chat handler + * Party Match Room chat handler. * @author Gnacik */ public class ChatPartyMatchRoom implements IChatHandler { - private static final int[] COMMAND_IDS = + private static final ChatType[] CHAT_TYPES = { - 14 + ChatType.PARTYMATCH_ROOM, }; - /** - * Handle chat type 'partymatchroom' - */ @Override - public void handleChat(int type, L2PcInstance activeChar, String target, String text) + public void handleChat(ChatType type, L2PcInstance activeChar, String target, String text) { if (activeChar.isInPartyMatchRoom()) { - PartyMatchRoom _room = PartyMatchRoomList.getInstance().getPlayerRoom(activeChar); + final PartyMatchRoom _room = PartyMatchRoomList.getInstance().getPlayerRoom(activeChar); if (_room != null) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && Config.BAN_CHAT_CHANNELS.contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); return; } - CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); + final CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); for (L2PcInstance _member : _room.getPartyMembers()) { if (Config.FACTION_SYSTEM_ENABLED) @@ -81,17 +78,9 @@ public class ChatPartyMatchRoom implements IChatHandler } } - /** - * Returns the chat types registered to this handler - */ @Override - public int[] getChatTypeList() + public ChatType[] getChatTypeList() { - return COMMAND_IDS; + return CHAT_TYPES; } - - public static void main(String[] args) - { - new ChatPartyMatchRoom(); - } -} +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPartyRoomAll.java b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPartyRoomAll.java index d9829aaa3e..31dde45af4 100644 --- a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPartyRoomAll.java +++ b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPartyRoomAll.java @@ -19,51 +19,43 @@ package handlers.chathandlers; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** - * A chat handler + * Party Room All chat handler. * @author durgus */ -public class ChatPartyRoomAll implements IChatHandler +public final class ChatPartyRoomAll implements IChatHandler { - private static final int[] COMMAND_IDS = + private static final ChatType[] CHAT_TYPES = { - 16 + ChatType.PARTYROOM_ALL, }; - /** - * Handle chat type 'party room all' - */ @Override - public void handleChat(int type, L2PcInstance activeChar, String target, String text) + public void handleChat(ChatType type, L2PcInstance activeChar, String target, String text) { if (activeChar.isInParty()) { if (activeChar.getParty().isInCommandChannel() && activeChar.getParty().isLeader(activeChar)) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && Config.BAN_CHAT_CHANNELS.contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); return; } - - CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); - activeChar.getParty().getCommandChannel().broadcastCreatureSay(cs, activeChar); + activeChar.getParty().getCommandChannel().broadcastCreatureSay(new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text), activeChar); } } } - /** - * Returns the chat types registered to this handler. - */ @Override - public int[] getChatTypeList() + public ChatType[] getChatTypeList() { - return COMMAND_IDS; + return CHAT_TYPES; } -} +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPartyRoomCommander.java b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPartyRoomCommander.java index 9baf5760c9..dc67aede51 100644 --- a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPartyRoomCommander.java +++ b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPartyRoomCommander.java @@ -19,51 +19,43 @@ package handlers.chathandlers; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; /** - * A chat handler + * Party Room Commander chat handler. * @author durgus */ -public class ChatPartyRoomCommander implements IChatHandler +public final class ChatPartyRoomCommander implements IChatHandler { - private static final int[] COMMAND_IDS = + private static final ChatType[] CHAT_TYPES = { - 15 + ChatType.PARTYROOM_COMMANDER, }; - /** - * Handle chat type 'party room commander' - */ @Override - public void handleChat(int type, L2PcInstance activeChar, String target, String text) + public void handleChat(ChatType type, L2PcInstance activeChar, String target, String text) { if (activeChar.isInParty()) { if (activeChar.getParty().isInCommandChannel() && activeChar.getParty().getCommandChannel().getLeader().equals(activeChar)) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && Config.BAN_CHAT_CHANNELS.contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); return; } - - CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); - activeChar.getParty().getCommandChannel().broadcastCreatureSay(cs, activeChar); + activeChar.getParty().getCommandChannel().broadcastCreatureSay(new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text), activeChar); } } } - /** - * Returns the chat types registered to this handler. - */ @Override - public int[] getChatTypeList() + public ChatType[] getChatTypeList() { - return COMMAND_IDS; + return CHAT_TYPES; } -} +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPetition.java b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPetition.java index d39d122a3e..e961d875f5 100644 --- a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPetition.java +++ b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatPetition.java @@ -19,31 +19,28 @@ package handlers.chathandlers; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.instancemanager.PetitionManager; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.util.Util; /** - * A chat handler + * Petition chat handler. * @author durgus */ -public class ChatPetition implements IChatHandler +public final class ChatPetition implements IChatHandler { - private static final int[] COMMAND_IDS = + private static final ChatType[] CHAT_TYPES = { - 6, - 7 + ChatType.PETITION_PLAYER, + ChatType.PETITION_GM, }; - /** - * Handle chat type 'petition player' - */ @Override - public void handleChat(int type, L2PcInstance activeChar, String target, String text) + public void handleChat(ChatType type, L2PcInstance activeChar, String target, String text) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && Config.BAN_CHAT_CHANNELS.contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); return; @@ -54,16 +51,12 @@ public class ChatPetition implements IChatHandler activeChar.sendPacket(SystemMessageId.YOU_ARE_CURRENTLY_NOT_IN_A_PETITION_CHAT); return; } - PetitionManager.getInstance().sendActivePetitionMessage(activeChar, text); } - /** - * Returns the chat types registered to this handler. - */ @Override - public int[] getChatTypeList() + public ChatType[] getChatTypeList() { - return COMMAND_IDS; + return CHAT_TYPES; } -} +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatShout.java b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatShout.java index 069df71ff2..74bbd698f8 100644 --- a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatShout.java +++ b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatShout.java @@ -19,6 +19,7 @@ package handlers.chathandlers; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.instancemanager.MapRegionManager; import com.l2jserver.gameserver.model.BlockList; @@ -27,35 +28,38 @@ import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; +import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** * Shout chat handler. * @author durgus */ -public class ChatShout implements IChatHandler +public final class ChatShout implements IChatHandler { - private static final int[] COMMAND_IDS = + private static final ChatType[] CHAT_TYPES = { - 1 + ChatType.SHOUT, }; - /** - * Handle chat type 'shout' - */ @Override - public void handleChat(int type, L2PcInstance activeChar, String target, String text) + public void handleChat(ChatType type, L2PcInstance activeChar, String target, String text) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && Config.BAN_CHAT_CHANNELS.contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); return; } + if ((activeChar.getLevel() < Config.MINIMUM_CHAT_LEVEL) && !activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS)) + { + activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.PLAYERS_CAN_SHOUT_AFTER_LV_S1).addInt(Config.MINIMUM_CHAT_LEVEL)); + return; + } + final CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); if (Config.DEFAULT_GLOBAL_CHAT.equalsIgnoreCase("on") || (Config.DEFAULT_GLOBAL_CHAT.equalsIgnoreCase("gm") && activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS))) { - int region = MapRegionManager.getInstance().getMapRegionLocId(activeChar); + final int region = MapRegionManager.getInstance().getMapRegionLocId(activeChar); for (L2PcInstance player : L2World.getInstance().getPlayers()) { if ((region == MapRegionManager.getInstance().getMapRegionLocId(player)) && !BlockList.isBlocked(player, activeChar) && (player.getInstanceId() == activeChar.getInstanceId())) @@ -119,12 +123,9 @@ public class ChatShout implements IChatHandler } } - /** - * Returns the chat types registered to this handler. - */ @Override - public int[] getChatTypeList() + public ChatType[] getChatTypeList() { - return COMMAND_IDS; + return CHAT_TYPES; } -} +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatTell.java b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatTell.java index 47bf2a7f5c..ad17a6bd19 100644 --- a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatTell.java +++ b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatTell.java @@ -19,6 +19,7 @@ package handlers.chathandlers; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.BlockList; import com.l2jserver.gameserver.model.L2World; @@ -26,26 +27,23 @@ import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; +import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** * Tell chat handler. * @author durgus */ -public class ChatTell implements IChatHandler +public final class ChatTell implements IChatHandler { - private static final int[] COMMAND_IDS = + private static final ChatType[] CHAT_TYPES = { - 2 + ChatType.TELL, }; - /** - * Handle chat type 'tell' - */ @Override - public void handleChat(int type, L2PcInstance activeChar, String target, String text) + public void handleChat(ChatType type, L2PcInstance activeChar, String target, String text) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && Config.BAN_CHAT_CHANNELS.contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); return; @@ -63,9 +61,7 @@ public class ChatTell implements IChatHandler return; } - L2PcInstance receiver = null; - - receiver = L2World.getInstance().getPlayer(target); + final L2PcInstance receiver = L2World.getInstance().getPlayer(target); if ((receiver != null) && !receiver.isSilenceMode(activeChar.getObjectId())) { @@ -74,22 +70,27 @@ public class ChatTell implements IChatHandler activeChar.sendMessage("Player is in jail."); return; } - if (receiver.isChatBanned()) + else if (receiver.isChatBanned()) { activeChar.sendPacket(SystemMessageId.THAT_PERSON_IS_IN_MESSAGE_REFUSAL_MODE); return; } - if ((receiver.getClient() == null) || receiver.getClient().isDetached()) + else if ((receiver.getClient() == null) || receiver.getClient().isDetached()) { activeChar.sendMessage("Player is in offline mode."); return; } - if (Config.FACTION_SYSTEM_ENABLED && Config.FACTION_SPECIFIC_CHAT && ((activeChar.isGood() && receiver.isEvil()) || (activeChar.isEvil() && receiver.isGood()))) + else if (Config.FACTION_SYSTEM_ENABLED && Config.FACTION_SPECIFIC_CHAT && ((activeChar.isGood() && receiver.isEvil()) || (activeChar.isEvil() && receiver.isGood()))) { activeChar.sendMessage("Player belongs to the opposing faction."); return; } - if (!BlockList.isBlocked(receiver, activeChar)) + else if ((activeChar.getLevel() < Config.MINIMUM_CHAT_LEVEL) && !activeChar.getWhisperers().contains(receiver.getObjectId()) && !activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS)) + { + activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.PLAYERS_CAN_RESPOND_TO_A_WHISPER_BUT_CANNOT_INITIATE_A_WHISPER_UNTIL_LV_S1).addInt(Config.MINIMUM_CHAT_LEVEL)); + return; + } + else if (!BlockList.isBlocked(receiver, activeChar)) { // Allow reciever to send PMs to this char, which is in silence mode. if (Config.SILENCE_MODE_EXCLUDE && activeChar.isSilenceMode()) @@ -97,6 +98,7 @@ public class ChatTell implements IChatHandler activeChar.addSilenceModeExcluded(receiver.getObjectId()); } + receiver.getWhisperers().add(activeChar.getObjectId()); receiver.sendPacket(new CreatureSay(activeChar, receiver, activeChar.getName(), type, text)); activeChar.sendPacket(new CreatureSay(activeChar, receiver, "->" + receiver.getName(), type, text)); } @@ -111,12 +113,9 @@ public class ChatTell implements IChatHandler } } - /** - * Returns the chat types registered to this handler. - */ @Override - public int[] getChatTypeList() + public ChatType[] getChatTypeList() { - return COMMAND_IDS; + return CHAT_TYPES; } -} +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatTrade.java b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatTrade.java index 1c7ab159f0..2f281549d2 100644 --- a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatTrade.java +++ b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatTrade.java @@ -19,6 +19,7 @@ package handlers.chathandlers; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.instancemanager.MapRegionManager; import com.l2jserver.gameserver.model.BlockList; @@ -27,31 +28,34 @@ import com.l2jserver.gameserver.model.PcCondOverride; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; -import com.l2jserver.gameserver.util.Util; +import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** * Trade chat handler. * @author durgus */ -public class ChatTrade implements IChatHandler +public final class ChatTrade implements IChatHandler { - private static final int[] COMMAND_IDS = + private static final ChatType[] CHAT_TYPES = { - 8 + ChatType.TRADE, }; - /** - * Handle chat type 'trade' - */ @Override - public void handleChat(int type, L2PcInstance activeChar, String target, String text) + public void handleChat(ChatType type, L2PcInstance activeChar, String target, String text) { - if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + if (activeChar.isChatBanned() && Config.BAN_CHAT_CHANNELS.contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); return; } + if (activeChar.getLevel() < 20) + { + activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.PLAYERS_CAN_USE_TRADE_CHAT_AFTER_LV_S1).addInt(20)); + return; + } + final CreatureSay cs = new CreatureSay(activeChar.getObjectId(), type, activeChar.getName(), text); if (Config.DEFAULT_TRADE_CHAT.equalsIgnoreCase("on") || (Config.DEFAULT_TRADE_CHAT.equalsIgnoreCase("gm") && activeChar.canOverrideCond(PcCondOverride.CHAT_CONDITIONS))) { @@ -116,12 +120,9 @@ public class ChatTrade implements IChatHandler } } - /** - * Returns the chat types registered to this handler. - */ @Override - public int[] getChatTypeList() + public ChatType[] getChatTypeList() { - return COMMAND_IDS; + return CHAT_TYPES; } -} +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatWorld.java b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatWorld.java index f41e105be1..df191212af 100644 --- a/trunk/dist/game/data/scripts/handlers/chathandlers/ChatWorld.java +++ b/trunk/dist/game/data/scripts/handlers/chathandlers/ChatWorld.java @@ -24,6 +24,7 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -31,22 +32,22 @@ import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.network.serverpackets.ExWorldChatCnt; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; -import com.l2jserver.gameserver.util.Util; /** + * World chat handler. * @author UnAfraid */ -public class ChatWorld implements IChatHandler +public final class ChatWorld implements IChatHandler { private static final Map REUSE = new ConcurrentHashMap<>(); - private static final int[] COMMANDS = + private static final ChatType[] CHAT_TYPES = { - 25 + ChatType.GLOBAL, }; @Override - public void handleChat(int type, L2PcInstance activeChar, String target, String text) + public void handleChat(ChatType type, L2PcInstance activeChar, String target, String text) { final Instant now = Instant.now(); if (!REUSE.isEmpty()) @@ -60,7 +61,7 @@ public class ChatWorld implements IChatHandler msg.addInt(Config.WORLD_CHAT_MIN_LEVEL); activeChar.sendPacket(msg); } - else if (activeChar.isChatBanned() && Util.contains(Config.BAN_CHAT_CHANNELS, type)) + else if (activeChar.isChatBanned() && Config.BAN_CHAT_CHANNELS.contains(type)) { activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); } @@ -79,50 +80,30 @@ public class ChatWorld implements IChatHandler final Duration timeDiff = Duration.between(instant, now); final SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.YOU_HAVE_S1_SEC_UNTIL_YOU_ARE_ABLE_TO_USE_WORLD_CHAT); msg.addInt((int) timeDiff.getSeconds()); - if (Config.FACTION_SYSTEM_ENABLED) - { - if (Config.FACTION_SPECIFIC_CHAT) - { - if ((activeChar.isGood() && activeChar.isGood()) || (activeChar.isEvil() && activeChar.isEvil())) - { - activeChar.sendPacket(msg); - } - } - else - { - activeChar.sendPacket(msg); - } - } - else - { - activeChar.sendPacket(msg); - } + activeChar.sendPacket(msg); return; } } final CreatureSay cs = new CreatureSay(activeChar, type, text); - L2World.getInstance().getPlayers().stream().filter(activeChar::isNotBlocked).forEach(cs::sendTo); - - activeChar.setWorldChatPoints(activeChar.getWorldChatPoints() - 1); - if (Config.FACTION_SYSTEM_ENABLED) + if (Config.FACTION_SYSTEM_ENABLED && Config.FACTION_SPECIFIC_CHAT) { - if (Config.FACTION_SPECIFIC_CHAT) + if (activeChar.isGood()) { - if ((activeChar.isGood() && activeChar.isGood()) || (activeChar.isEvil() && activeChar.isEvil())) - { - activeChar.sendPacket(new ExWorldChatCnt(activeChar)); - } + L2World.getInstance().getAllGoodPlayers().stream().filter(activeChar::isNotBlocked).forEach(cs::sendTo); } - else + if (activeChar.isEvil()) { - activeChar.sendPacket(new ExWorldChatCnt(activeChar)); + L2World.getInstance().getAllEvilPlayers().stream().filter(activeChar::isNotBlocked).forEach(cs::sendTo); } } else { - activeChar.sendPacket(new ExWorldChatCnt(activeChar)); + L2World.getInstance().getPlayers().stream().filter(activeChar::isNotBlocked).forEach(cs::sendTo); } + + activeChar.setWorldChatPoints(activeChar.getWorldChatPoints() - 1); + activeChar.sendPacket(new ExWorldChatCnt(activeChar)); if (Config.WORLD_CHAT_INTERVAL.getSeconds() > 0) { REUSE.put(activeChar.getObjectId(), now.plus(Config.WORLD_CHAT_INTERVAL)); @@ -131,8 +112,8 @@ public class ChatWorld implements IChatHandler } @Override - public int[] getChatTypeList() + public ChatType[] getChatTypeList() { - return COMMANDS; + return CHAT_TYPES; } -} +} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/handlers/effecthandlers/ClassChange.java b/trunk/dist/game/data/scripts/handlers/effecthandlers/ClassChange.java index 3f3cbffce7..463e8d3dec 100644 --- a/trunk/dist/game/data/scripts/handlers/effecthandlers/ClassChange.java +++ b/trunk/dist/game/data/scripts/handlers/effecthandlers/ClassChange.java @@ -20,6 +20,7 @@ package handlers.effecthandlers; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.datatables.SkillData; +import com.l2jserver.gameserver.enums.SubclassInfoType; import com.l2jserver.gameserver.model.StatsSet; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.conditions.Condition; @@ -81,7 +82,7 @@ public class ClassChange extends AbstractEffect player.sendPacket(msg); player.broadcastUserInfo(); - player.sendPacket(new ExSubjobInfo(player)); + player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED)); }, 1000); } } diff --git a/trunk/dist/game/data/scripts/handlers/telnethandlers/ChatsHandler.java b/trunk/dist/game/data/scripts/handlers/telnethandlers/ChatsHandler.java index efbb1529d3..3cdc2f0e98 100644 --- a/trunk/dist/game/data/scripts/handlers/telnethandlers/ChatsHandler.java +++ b/trunk/dist/game/data/scripts/handlers/telnethandlers/ChatsHandler.java @@ -23,10 +23,10 @@ import java.net.Socket; import java.util.StringTokenizer; import com.l2jserver.gameserver.data.xml.impl.AdminData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.ITelnetHandler; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.util.Broadcast; @@ -67,7 +67,7 @@ public class ChatsHandler implements ITelnetHandler String name = st.nextToken(); String message = val.substring(name.length() + 1); L2PcInstance reciever = L2World.getInstance().getPlayer(name); - CreatureSay cs = new CreatureSay(0, Say2.TELL, "Telnet Priv", message); + CreatureSay cs = new CreatureSay(0, ChatType.TELL, "Telnet Priv", message); if (reciever != null) { reciever.sendPacket(cs); @@ -89,7 +89,7 @@ public class ChatsHandler implements ITelnetHandler try { command = command.substring(7); - CreatureSay cs = new CreatureSay(0, Say2.ALLIANCE, "Telnet GM Broadcast from " + _cSocket.getInetAddress().getHostAddress(), command); + CreatureSay cs = new CreatureSay(0, ChatType.ALLIANCE, "Telnet GM Broadcast from " + _cSocket.getInetAddress().getHostAddress(), command); AdminData.getInstance().broadcastToGMs(cs); _print.println("Your Message Has Been Sent To " + getOnlineGMS() + " GM(s)."); } diff --git a/trunk/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java b/trunk/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java index e98e3519e7..3dd0a79e21 100644 --- a/trunk/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java +++ b/trunk/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java @@ -209,6 +209,8 @@ public class DebugHandler implements ITelnetHandler FastTable> entries = new FastTable<>(); entries.setValueComparator(new FastComparator>() { + private static final long serialVersionUID = 1L; + @Override public boolean areEqual(Entry e1, Entry e2) { diff --git a/trunk/dist/game/data/scripts/hellbound/AI/Amaskari.java b/trunk/dist/game/data/scripts/hellbound/AI/Amaskari.java index f62769532d..e288161595 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/Amaskari.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/Amaskari.java @@ -22,6 +22,7 @@ import hellbound.HellboundEngine; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -29,7 +30,6 @@ import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.skills.BuffInfo; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Manages Amaskari's and minions' chat and some skill usage. @@ -78,7 +78,7 @@ public final class Amaskari extends AbstractNpcAI { if (event.equalsIgnoreCase("stop_toggle")) { - broadcastNpcSay(npc, Say2.NPC_ALL, AMASKARI_NPCSTRING_ID[2]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, AMASKARI_NPCSTRING_ID[2]); ((L2MonsterInstance) npc).clearAggroList(); ((L2MonsterInstance) npc).getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE); npc.setIsInvul(false); @@ -88,11 +88,11 @@ public final class Amaskari extends AbstractNpcAI { if (getRandom(100) > 20) { - broadcastNpcSay(npc, Say2.NPC_ALL, MINIONS_NPCSTRING_ID[2]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, MINIONS_NPCSTRING_ID[2]); } else if (getRandom(100) > 40) { - broadcastNpcSay(npc, Say2.NPC_ALL, MINIONS_NPCSTRING_ID[3]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, MINIONS_NPCSTRING_ID[3]); } startQuestTimer("onspawn_msg", (getRandom(8) + 1) * 30000, npc, null); } @@ -104,12 +104,12 @@ public final class Amaskari extends AbstractNpcAI { if ((npc.getId() == AMASKARI) && (getRandom(1000) < 25)) { - broadcastNpcSay(npc, Say2.NPC_ALL, AMASKARI_NPCSTRING_ID[0]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, AMASKARI_NPCSTRING_ID[0]); for (L2MonsterInstance minion : ((L2MonsterInstance) npc).getMinionList().getSpawnedMinions()) { if ((minion != null) && !minion.isDead() && (getRandom(10) == 0)) { - broadcastNpcSay(minion, Say2.NPC_ALL, MINIONS_NPCSTRING_ID[0]); + broadcastNpcSay(minion, ChatType.NPC_GENERAL, MINIONS_NPCSTRING_ID[0]); minion.setCurrentHp(minion.getCurrentHp() - (minion.getCurrentHp() / 5)); } } @@ -125,7 +125,7 @@ public final class Amaskari extends AbstractNpcAI final L2MonsterInstance master = ((L2MonsterInstance) npc).getLeader(); if ((master != null) && !master.isDead()) { - broadcastNpcSay(master, Say2.NPC_ALL, AMASKARI_NPCSTRING_ID[1]); + broadcastNpcSay(master, ChatType.NPC_GENERAL, AMASKARI_NPCSTRING_ID[1]); final BuffInfo info = master.getEffectList().getBuffInfoBySkillId(BUFF_ID); if ((info != null) && (info.getSkill().getAbnormalLvl() == 3) && master.isInvul()) { @@ -145,7 +145,7 @@ public final class Amaskari extends AbstractNpcAI } else { - broadcastNpcSay(master, Say2.NPC_ALL, AMASKARI_NPCSTRING_ID[3]); + broadcastNpcSay(master, ChatType.NPC_GENERAL, AMASKARI_NPCSTRING_ID[3]); // master.doCast(INVINCIBILITY.getSkill()) master.setIsInvul(true); startQuestTimer("stop_toggle", 10000, master, null); @@ -161,7 +161,7 @@ public final class Amaskari extends AbstractNpcAI { if (getRandom(1000) > 300) { - broadcastNpcSay(minion, Say2.NPC_ALL, MINIONS_NPCSTRING_ID[1]); + broadcastNpcSay(minion, ChatType.NPC_GENERAL, MINIONS_NPCSTRING_ID[1]); } HellboundEngine.getInstance().updateTrust(30, true); minion.deleteMe(); diff --git a/trunk/dist/game/data/scripts/hellbound/AI/Keltas.java b/trunk/dist/game/data/scripts/hellbound/AI/Keltas.java index 6ba51172d8..9e3d0c91b6 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/Keltas.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/Keltas.java @@ -24,13 +24,13 @@ import java.util.concurrent.ConcurrentHashMap; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Spawn; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Manages Darion's Enforcer's and Darion's Executioner spawn/despawn @@ -161,7 +161,7 @@ public final class Keltas extends AbstractNpcAI final L2Npc keltas = _spawnedKeltas; if ((keltas != null) && !keltas.isDead()) { - broadcastNpcSay(keltas, Say2.NPC_SHOUT, NpcStringId.THAT_IS_IT_FOR_TODAY_LET_S_RETREAT_EVERYONE_PULL_BACK); + broadcastNpcSay(keltas, ChatType.NPC_SHOUT, NpcStringId.THAT_IS_IT_FOR_TODAY_LET_S_RETREAT_EVERYONE_PULL_BACK); keltas.deleteMe(); keltas.getSpawn().decreaseCount(keltas); despawnMinions(); @@ -182,7 +182,7 @@ public final class Keltas extends AbstractNpcAI public final String onSpawn(L2Npc npc) { _spawnedKeltas = (L2MonsterInstance) npc; - broadcastNpcSay(_spawnedKeltas, Say2.NPC_SHOUT, NpcStringId.GUYS_SHOW_THEM_OUR_POWER); + broadcastNpcSay(_spawnedKeltas, ChatType.NPC_SHOUT, NpcStringId.GUYS_SHOW_THEM_OUR_POWER); spawnMinions(); startQuestTimer("despawn", 1800000, null, null); return super.onSpawn(npc); diff --git a/trunk/dist/game/data/scripts/hellbound/AI/NPC/Deltuva/Deltuva.java b/trunk/dist/game/data/scripts/hellbound/AI/NPC/Deltuva/Deltuva.java index c1fad8ca36..5ddf0cff93 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/NPC/Deltuva/Deltuva.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/NPC/Deltuva/Deltuva.java @@ -18,13 +18,11 @@ */ package hellbound.AI.NPC.Deltuva; -import quests.Q00132_MatrasCuriosity.Q00132_MatrasCuriosity; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.QuestState; /** * Deltuva AI. @@ -49,11 +47,6 @@ public final class Deltuva extends AbstractNpcAI { if (event.equalsIgnoreCase("teleport")) { - final QuestState hostQuest = player.getQuestState(Q00132_MatrasCuriosity.class.getSimpleName()); - if ((hostQuest == null) || !hostQuest.isCompleted()) - { - return "32313-02.htm"; - } player.teleToLocation(TELEPORT); } return super.onAdvEvent(event, npc, player); diff --git a/trunk/dist/game/data/scripts/hellbound/AI/NPC/Natives/Natives.java b/trunk/dist/game/data/scripts/hellbound/AI/NPC/Natives/Natives.java index aad81a8f12..cef310ea61 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/NPC/Natives/Natives.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/NPC/Natives/Natives.java @@ -22,11 +22,11 @@ import hellbound.HellboundEngine; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.data.xml.impl.DoorData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Natives AI. @@ -110,7 +110,7 @@ public final class Natives extends AbstractNpcAI if (getQuestItemsCount(player, MARK_OF_BETRAYAL) >= 10) { takeItems(player, MARK_OF_BETRAYAL, 10); - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.ALRIGHT_NOW_LEODAS_IS_YOURS); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.ALRIGHT_NOW_LEODAS_IS_YOURS); HellboundEngine.getInstance().updateTrust(-50, true); for (int doorId : DOORS) @@ -148,7 +148,7 @@ public final class Natives extends AbstractNpcAI } else if ((npc.getId() == NATIVE) && event.equalsIgnoreCase("hungry_death")) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.HUN_HUNGRY); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.HUN_HUNGRY); npc.doDie(null); } else if (npc.getId() == INCASTLE) diff --git a/trunk/dist/game/data/scripts/hellbound/AI/NPC/Quarry/Quarry.java b/trunk/dist/game/data/scripts/hellbound/AI/NPC/Quarry/Quarry.java index f4453f33d0..d9b0171010 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/NPC/Quarry/Quarry.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/NPC/Quarry/Quarry.java @@ -23,6 +23,7 @@ import ai.npc.AbstractNpcAI; import com.l2jserver.Config; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Character; @@ -32,7 +33,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2QuestGuardInstance; import com.l2jserver.gameserver.model.holders.ItemChanceHolder; import com.l2jserver.gameserver.model.zone.L2ZoneType; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Quarry AI. @@ -103,7 +103,7 @@ public final class Quarry extends AbstractNpcAI return null; } } - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.HUN_HUNGRY); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.HUN_HUNGRY); npc.doDie(npc); break; } @@ -176,7 +176,7 @@ public final class Quarry extends AbstractNpcAI startQuestTimer("DECAY", 1000, npc, null); try { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.THANK_YOU_FOR_THE_RESCUE_IT_S_A_SMALL_GIFT); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.THANK_YOU_FOR_THE_RESCUE_IT_S_A_SMALL_GIFT); } catch (Exception e) { diff --git a/trunk/dist/game/data/scripts/hellbound/AI/Ranku.java b/trunk/dist/game/data/scripts/hellbound/AI/Ranku.java index 5765e39c01..1a4fd9bc67 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/Ranku.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/Ranku.java @@ -23,12 +23,12 @@ import java.util.Set; import javolution.util.FastSet; import ai.npc.AbstractNpcAI; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.util.MinionList; /** @@ -79,7 +79,7 @@ public final class Ranku extends AbstractNpcAI { if ((minion != null) && !minion.isDead() && !MY_TRACKING_SET.contains(minion.getObjectId())) { - broadcastNpcSay(minion, Say2.NPC_ALL, NpcStringId.DON_T_KILL_ME_PLEASE_SOMETHING_S_STRANGLING_ME); + broadcastNpcSay(minion, ChatType.NPC_GENERAL, NpcStringId.DON_T_KILL_ME_PLEASE_SOMETHING_S_STRANGLING_ME); startQuestTimer("checkup", 1000, npc, null); MY_TRACKING_SET.add(minion.getObjectId()); } diff --git a/trunk/dist/game/data/scripts/hellbound/AI/Slaves.java b/trunk/dist/game/data/scripts/hellbound/AI/Slaves.java index b3f14f4f2b..cd8a47e345 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/Slaves.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/Slaves.java @@ -25,12 +25,12 @@ import java.util.List; import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.taskmanager.DecayTaskManager; /** @@ -81,7 +81,7 @@ public final class Slaves extends AbstractNpcAI slave.clearAggroList(); slave.abortAttack(); slave.abortCast(); - broadcastNpcSay(slave, Say2.NPC_ALL, NpcStringId.THANK_YOU_FOR_SAVING_ME_FROM_THE_CLUTCHES_OF_EVIL); + broadcastNpcSay(slave, ChatType.NPC_GENERAL, NpcStringId.THANK_YOU_FOR_SAVING_ME_FROM_THE_CLUTCHES_OF_EVIL); if ((HellboundEngine.getInstance().getLevel() >= 1) && (HellboundEngine.getInstance().getLevel() <= 2)) { @@ -94,4 +94,4 @@ public final class Slaves extends AbstractNpcAI } return super.onKill(npc, killer, isSummon); } -} +} diff --git a/trunk/dist/game/data/scripts/hellbound/AI/Zones/AnomicFoundry/AnomicFoundry.java b/trunk/dist/game/data/scripts/hellbound/AI/Zones/AnomicFoundry/AnomicFoundry.java index a9ebca87bc..c2d13e8501 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/Zones/AnomicFoundry/AnomicFoundry.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/Zones/AnomicFoundry/AnomicFoundry.java @@ -27,6 +27,7 @@ import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.datatables.SpawnTable; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Spawn; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Attackable; @@ -35,7 +36,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Anomic Foundry. @@ -142,7 +142,7 @@ public final class AnomicFoundry extends AbstractNpcAI int atkIndex = _atkIndex.containsKey(npc.getObjectId()) ? _atkIndex.get(npc.getObjectId()) : 0; if (atkIndex == 0) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.ENEMY_INVASION_HURRY_UP); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.ENEMY_INVASION_HURRY_UP); cancelQuestTimer("return_laborer", npc, null); startQuestTimer("return_laborer", 60000, npc, null); @@ -183,7 +183,7 @@ public final class AnomicFoundry extends AbstractNpcAI { if (getRandom(10000) < 8000) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.PROCESS_SHOULDN_T_BE_DELAYED_BECAUSE_OF_ME); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.PROCESS_SHOULDN_T_BE_DELAYED_BECAUSE_OF_ME); if (respawnTime < respawnMax) { respawnTime += 10000; diff --git a/trunk/dist/game/data/scripts/hellbound/AI/Zones/TowerOfNaia/TowerOfNaia.java b/trunk/dist/game/data/scripts/hellbound/AI/Zones/TowerOfNaia/TowerOfNaia.java index de32fda4fc..af49067233 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/Zones/TowerOfNaia/TowerOfNaia.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/Zones/TowerOfNaia/TowerOfNaia.java @@ -32,6 +32,7 @@ import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.data.xml.impl.DoorData; import com.l2jserver.gameserver.datatables.SkillData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.GlobalVariablesManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.L2Party; @@ -43,7 +44,6 @@ import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.model.zone.L2ZoneType; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.util.MinionList; import com.l2jserver.gameserver.util.Util; @@ -612,7 +612,7 @@ public final class TowerOfNaia extends AbstractNpcAI MinionList.spawnMinion(_lock, 18493); MinionList.spawnMinion(_lock, 18493); } - broadcastNpcSay(_controller, Say2.NPC_ALL, NpcStringId.EMERGENCY_EMERGENCY_THE_OUTER_WALL_IS_WEAKENING_RAPIDLY); + broadcastNpcSay(_controller, ChatType.NPC_GENERAL, NpcStringId.EMERGENCY_EMERGENCY_THE_OUTER_WALL_IS_WEAKENING_RAPIDLY); _counter -= 10; } } @@ -716,7 +716,7 @@ public final class TowerOfNaia extends AbstractNpcAI { if ((spore != null) && !spore.isDead() && (spore.getId() == npcId)) { - broadcastNpcSay(spore, Say2.NPC_ALL, SPORES_NPCSTRING_ID[getRandom(4)], el); + broadcastNpcSay(spore, ChatType.NPC_GENERAL, SPORES_NPCSTRING_ID[getRandom(4)], el); } } } diff --git a/trunk/dist/game/data/scripts/hellbound/AI/Zones/TullyWorkshop/TullyWorkshop.java b/trunk/dist/game/data/scripts/hellbound/AI/Zones/TullyWorkshop/TullyWorkshop.java index 98ea64489c..07e3fcbcd0 100644 --- a/trunk/dist/game/data/scripts/hellbound/AI/Zones/TullyWorkshop/TullyWorkshop.java +++ b/trunk/dist/game/data/scripts/hellbound/AI/Zones/TullyWorkshop/TullyWorkshop.java @@ -33,6 +33,7 @@ import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.data.xml.impl.DoorData; import com.l2jserver.gameserver.datatables.SkillData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.RaidBossSpawnManager; import com.l2jserver.gameserver.instancemanager.RaidBossSpawnManager.StatusEnum; import com.l2jserver.gameserver.instancemanager.ZoneManager; @@ -48,7 +49,6 @@ import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.model.zone.L2ZoneType; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.util.MinionList; import com.l2jserver.gameserver.util.Util; @@ -572,7 +572,7 @@ public final class TullyWorkshop extends AbstractNpcAI { if (postMortemSpawn.indexOf(npc) == 11) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.HA_HA_YOU_WERE_SO_AFRAID_OF_DEATH_LET_ME_SEE_IF_YOU_FIND_ME_IN_TIME_MAYBE_YOU_CAN_FIND_A_WAY); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.HA_HA_YOU_WERE_SO_AFRAID_OF_DEATH_LET_ME_SEE_IF_YOU_FIND_ME_IN_TIME_MAYBE_YOU_CAN_FIND_A_WAY); npc.deleteMe(); return null; } @@ -746,7 +746,7 @@ public final class TullyWorkshop extends AbstractNpcAI if (event.equalsIgnoreCase("repair_device")) { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.DE_ACTIVATE_THE_ALARM); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.DE_ACTIVATE_THE_ALARM); brokenContraptions.remove(npc.getObjectId()); } else if (event.equalsIgnoreCase("despawn_servant") && !npc.isDead()) @@ -1223,7 +1223,7 @@ public final class TullyWorkshop extends AbstractNpcAI { if ((_npc != null) && (_npc.getId() == INGENIOUS_CONTRAPTION)) { - broadcastNpcSay(_npc, Say2.NPC_SHOUT, NpcStringId.S1_MINUTE_S_ARE_REMAINING, Integer.toString((countdownTime / 60000))); + broadcastNpcSay(_npc, ChatType.NPC_SHOUT, NpcStringId.S1_MINUTE_S_ARE_REMAINING, Integer.toString((countdownTime / 60000))); } } } @@ -1257,35 +1257,35 @@ public final class TullyWorkshop extends AbstractNpcAI { if ((_npc != null) && (_npc.getId() == INGENIOUS_CONTRAPTION)) { - broadcastNpcSay(_npc, Say2.NPC_SHOUT, NpcStringId.S1_SECOND_S_REMAINING, Integer.toString((countdownTime / 1000))); + broadcastNpcSay(_npc, ChatType.NPC_SHOUT, NpcStringId.S1_SECOND_S_REMAINING, Integer.toString((countdownTime / 1000))); } } }, 60000, 10000); - broadcastNpcSay(postMortemSpawn.get(0), Say2.NPC_SHOUT, NpcStringId.DETONATOR_INITIALIZATION_TIME_SET_FOR_S1_MINUTE_S_FROM_NOW, Integer.toString((countdownTime / 60000))); + broadcastNpcSay(postMortemSpawn.get(0), ChatType.NPC_SHOUT, NpcStringId.DETONATOR_INITIALIZATION_TIME_SET_FOR_S1_MINUTE_S_FROM_NOW, Integer.toString((countdownTime / 60000))); } else if ((npcId == TIMETWISTER_GOLEM) && (_countdown != null)) { if (getRandom(1000) >= 700) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.A_FATAL_ERROR_HAS_OCCURRED); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.A_FATAL_ERROR_HAS_OCCURRED); if (countdownTime > 180000) { countdownTime = Math.max(countdownTime - 180000, 60000); if ((postMortemSpawn != null) && (postMortemSpawn.size() > 0) && (postMortemSpawn.get(0) != null) && (postMortemSpawn.get(0).getId() == INGENIOUS_CONTRAPTION)) { - broadcastNpcSay(postMortemSpawn.get(0), Say2.NPC_SHOUT, NpcStringId.ZZZZ_CITY_INTERFERENCE_ERROR_FORWARD_EFFECT_CREATED); + broadcastNpcSay(postMortemSpawn.get(0), ChatType.NPC_SHOUT, NpcStringId.ZZZZ_CITY_INTERFERENCE_ERROR_FORWARD_EFFECT_CREATED); } } } else { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.TIME_RIFT_DEVICE_ACTIVATION_SUCCESSFUL); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.TIME_RIFT_DEVICE_ACTIVATION_SUCCESSFUL); if ((countdownTime > 0) && (countdownTime <= 420000)) { countdownTime += 180000; if ((postMortemSpawn != null) && (postMortemSpawn.size() > 0) && (postMortemSpawn.get(0) != null) && (postMortemSpawn.get(0).getId() == INGENIOUS_CONTRAPTION)) { - broadcastNpcSay(postMortemSpawn.get(0), Say2.NPC_SHOUT, NpcStringId.ZZZZ_CITY_INTERFERENCE_ERROR_RECURRENCE_EFFECT_CREATED); + broadcastNpcSay(postMortemSpawn.get(0), ChatType.NPC_SHOUT, NpcStringId.ZZZZ_CITY_INTERFERENCE_ERROR_RECURRENCE_EFFECT_CREATED); } } } @@ -1367,11 +1367,11 @@ public final class TullyWorkshop extends AbstractNpcAI if (((npc.getId() - 22404) == 3) || ((npc.getId() - 22404) == 6)) { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.I_FAILED_PLEASE_FORGIVE_ME_DARION); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.I_FAILED_PLEASE_FORGIVE_ME_DARION); } else { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.S1_I_LL_BE_BACK_DON_T_GET_COMFORTABLE, killer.getName()); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.S1_I_LL_BE_BACK_DON_T_GET_COMFORTABLE, killer.getName()); } } else if (((npcId == TEMENIR) || (npcId == DRAXIUS) || (npcId == KIRETCENAH)) && spawnedFollowers.contains(npc)) @@ -1446,7 +1446,7 @@ public final class TullyWorkshop extends AbstractNpcAI } else if ((npcId >= SERVANT_FIRST) && (npcId <= SERVANT_LAST) && (skillId == 5392)) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.S1_THANK_YOU_FOR_GIVING_ME_YOUR_LIFE, player.getName()); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.S1_THANK_YOU_FOR_GIVING_ME_YOUR_LIFE, player.getName()); final int dmg = (int) (player.getCurrentHp() / (npc.getId() - 22404)); player.reduceCurrentHp(dmg, null, null); npc.setCurrentHp((npc.getCurrentHp() + 10) - (npc.getId() - 22404)); diff --git a/trunk/dist/game/data/scripts/hellbound/Instances/UrbanArea/UrbanArea.java b/trunk/dist/game/data/scripts/hellbound/Instances/UrbanArea/UrbanArea.java index 5126197f21..599d6be3fb 100644 --- a/trunk/dist/game/data/scripts/hellbound/Instances/UrbanArea/UrbanArea.java +++ b/trunk/dist/game/data/scripts/hellbound/Instances/UrbanArea/UrbanArea.java @@ -24,6 +24,7 @@ import instances.AbstractInstance; import java.util.concurrent.ScheduledFuture; import com.l2jserver.gameserver.ThreadPoolManager; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.L2Party; import com.l2jserver.gameserver.model.Location; @@ -38,7 +39,6 @@ import com.l2jserver.gameserver.model.instancezone.InstanceWorld; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; import com.l2jserver.gameserver.util.Util; @@ -200,8 +200,8 @@ public final class UrbanArea extends AbstractInstance { if (!npc.isAffectedBySkill(STONE.getSkillId()) || world.isAmaskariDead) { - broadcastNpcSay(npc, Say2.NPC_ALL, NATIVES_NPCSTRING_ID[0]); - broadcastNpcSay(npc, Say2.NPC_ALL, NATIVES_NPCSTRING_ID[2]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NATIVES_NPCSTRING_ID[0]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NATIVES_NPCSTRING_ID[2]); } else { @@ -211,8 +211,8 @@ public final class UrbanArea extends AbstractInstance npc.stopSkillEffects(false, STONE.getSkillId()); } - broadcastNpcSay(npc, Say2.NPC_ALL, NATIVES_NPCSTRING_ID[0]); - broadcastNpcSay(npc, Say2.NPC_ALL, NATIVES_NPCSTRING_ID[1]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NATIVES_NPCSTRING_ID[0]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NATIVES_NPCSTRING_ID[1]); HellboundEngine.getInstance().updateTrust(10, true); npc.scheduleDespawn(3000); // Try to call Amaskari @@ -260,7 +260,7 @@ public final class UrbanArea extends AbstractInstance if (!npc.isBusy()) { - broadcastNpcSay(npc, Say2.NPC_ALL, NPCSTRING_ID[0]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NPCSTRING_ID[0]); npc.setBusy(true); if ((world.spawnedAmaskari != null) && !world.spawnedAmaskari.isDead() && (getRandom(1000) < 25) && Util.checkIfInRange(1000, npc, world.spawnedAmaskari, false)) @@ -304,7 +304,7 @@ public final class UrbanArea extends AbstractInstance } if (msgId >= 0) { - broadcastNpcSay(npc, Say2.NPC_ALL, NPCSTRING_ID[msgId], range); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NPCSTRING_ID[msgId], range); } npc.setBusy(true); npc.setBusyMessage("atk"); @@ -421,7 +421,7 @@ public final class UrbanArea extends AbstractInstance if ((world.spawnedAmaskari != null) && !world.spawnedAmaskari.isDead()) { world.spawnedAmaskari.teleToLocation(_caller.getLocation()); - world.spawnedAmaskari.broadcastPacket(new NpcSay(world.spawnedAmaskari.getObjectId(), Say2.NPC_ALL, world.spawnedAmaskari.getId(), NpcStringId.I_LL_MAKE_YOU_FEEL_SUFFERING_LIKE_A_FLAME_THAT_IS_NEVER_EXTINGUISHED)); + world.spawnedAmaskari.broadcastPacket(new NpcSay(world.spawnedAmaskari.getObjectId(), ChatType.NPC_GENERAL, world.spawnedAmaskari.getId(), NpcStringId.I_LL_MAKE_YOU_FEEL_SUFFERING_LIKE_A_FLAME_THAT_IS_NEVER_EXTINGUISHED)); } } } diff --git a/trunk/dist/game/data/scripts/instances/AbstractInstance.java b/trunk/dist/game/data/scripts/instances/AbstractInstance.java index a3b22c8d24..ef78f36f57 100644 --- a/trunk/dist/game/data/scripts/instances/AbstractInstance.java +++ b/trunk/dist/game/data/scripts/instances/AbstractInstance.java @@ -242,6 +242,8 @@ public abstract class AbstractInstance extends AbstractNpcAI { case ALL: { + player.stopAllEffectsExceptThoseThatLastThroughDeath(); + final L2Summon pet = player.getPet(); if (pet != null) { diff --git a/trunk/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java b/trunk/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java index 67e4831e68..4a1bdd2c38 100644 --- a/trunk/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java +++ b/trunk/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java @@ -27,6 +27,7 @@ import java.util.logging.Level; import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2Party; @@ -41,7 +42,6 @@ import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.Earthquake; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; @@ -345,7 +345,7 @@ public abstract class Chamber extends AbstractInstance { if (npc.getId() == ROOM_GATEKEEPER_LAST) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.MINUTES_ARE_ADDED_TO_THE_REMAINING_TIME_IN_THE_INSTANT_ZONE)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.MINUTES_ARE_ADDED_TO_THE_REMAINING_TIME_IN_THE_INSTANT_ZONE)); } } } diff --git a/trunk/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java b/trunk/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java index 22f6914329..f4231383d0 100644 --- a/trunk/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java +++ b/trunk/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java @@ -30,6 +30,7 @@ import com.l2jserver.Config; import com.l2jserver.gameserver.GeoData; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.datatables.SkillData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.TrapAction; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.L2Object; @@ -1312,7 +1313,7 @@ public final class CrystalCaverns extends AbstractInstance world._alarm = addSpawn(ALARMID, spawnLoc[0], spawnLoc[1], spawnLoc[2], 10800, false, 0, false, world.getInstanceId()); world._alarm.disableCoreAI(true); world._alarm.setIsImmobilized(true); - world._alarm.broadcastPacket(new CreatureSay(world._alarm.getObjectId(), 1, world._alarm.getName(), NpcStringId.AN_ALARM_HAS_BEEN_SET_OFF_EVERYBODY_WILL_BE_IN_DANGER_IF_THEY_ARE_NOT_TAKEN_CARE_OF_IMMEDIATELY)); + world._alarm.broadcastPacket(new CreatureSay(world._alarm.getObjectId(), ChatType.SHOUT, world._alarm.getName(), NpcStringId.AN_ALARM_HAS_BEEN_SET_OFF_EVERYBODY_WILL_BE_IN_DANGER_IF_THEY_ARE_NOT_TAKEN_CARE_OF_IMMEDIATELY)); } } else if (event.equalsIgnoreCase("baylor_skill")) @@ -1332,12 +1333,12 @@ public final class CrystalCaverns extends AbstractInstance if ((nowHp < (maxHp * 0.15)) && (world._raidStatus == 2)) { npc.doCast(SkillData.getInstance().getSkill(5225, 1)); - npc.broadcastPacket(new CreatureSay(npc.getObjectId(), 1, npc.getName(), NpcStringId.DEMON_KING_BELETH_GIVE_ME_THE_POWER_AAAHH)); + npc.broadcastPacket(new CreatureSay(npc.getObjectId(), ChatType.SHOUT, npc.getName(), NpcStringId.DEMON_KING_BELETH_GIVE_ME_THE_POWER_AAAHH)); } else if ((rand < 10) || (nowHp < (maxHp * 0.15))) { npc.doCast(SkillData.getInstance().getSkill(5225, 1)); - npc.broadcastPacket(new CreatureSay(npc.getObjectId(), 1, npc.getName(), NpcStringId.DEMON_KING_BELETH_GIVE_ME_THE_POWER_AAAHH)); + npc.broadcastPacket(new CreatureSay(npc.getObjectId(), ChatType.SHOUT, npc.getName(), NpcStringId.DEMON_KING_BELETH_GIVE_ME_THE_POWER_AAAHH)); startQuestTimer("baylor_remove_invul", 30000, world._baylor, null); } } @@ -1407,7 +1408,7 @@ public final class CrystalCaverns extends AbstractInstance { if (getRandom(100) < 5) { - npc.broadcastPacket(new CreatureSay(npc.getObjectId(), 1, npc.getName(), NpcStringId.AH_I_M_HUNGRY)); + npc.broadcastPacket(new CreatureSay(npc.getObjectId(), ChatType.SHOUT, npc.getName(), NpcStringId.AH_I_M_HUNGRY)); } startQuestTimer("autoFood", 2000, npc, null); } diff --git a/trunk/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java b/trunk/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java index 2b9c20d35b..16ca182712 100644 --- a/trunk/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java +++ b/trunk/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java @@ -22,6 +22,7 @@ import instances.AbstractInstance; import javolution.util.FastList; import javolution.util.FastMap; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.L2Party; import com.l2jserver.gameserver.model.Location; @@ -33,7 +34,6 @@ import com.l2jserver.gameserver.model.instancezone.InstanceWorld; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; @@ -723,11 +723,11 @@ public final class DarkCloudMansion extends AbstractInstance FifthRoom.npcList.add(thisnpc); if ((temp[idx] == 1) && (getRandom(100) < 95)) { - thisnpc.npc.broadcastPacket(new NpcSay(thisnpc.npc.getObjectId(), 0, thisnpc.npc.getId(), _spawnChat[getRandom(_spawnChat.length)])); + thisnpc.npc.broadcastPacket(new NpcSay(thisnpc.npc.getObjectId(), ChatType.NPC_GENERAL, thisnpc.npc.getId(), _spawnChat[getRandom(_spawnChat.length)])); } else if ((temp[idx] != 1) && (getRandom(100) < 67)) { - thisnpc.npc.broadcastPacket(new NpcSay(thisnpc.npc.getObjectId(), 0, thisnpc.npc.getId(), _spawnChat[getRandom(_spawnChat.length)])); + thisnpc.npc.broadcastPacket(new NpcSay(thisnpc.npc.getObjectId(), ChatType.NPC_GENERAL, thisnpc.npc.getId(), _spawnChat[getRandom(_spawnChat.length)])); } idx++; } @@ -817,14 +817,14 @@ public final class DarkCloudMansion extends AbstractInstance mob.count = 1; if (mob.status == 1) { - mob.npc.broadcastPacket(new NpcSay(mob.npc.getObjectId(), Say2.NPC_ALL, mob.npc.getId(), _successChat[getRandom(_successChat.length)])); + mob.npc.broadcastPacket(new NpcSay(mob.npc.getObjectId(), ChatType.NPC_GENERAL, mob.npc.getId(), _successChat[getRandom(_successChat.length)])); FifthRoom.founded += 1; startQuestTimer("decayMe", 1500, npc, player); } else { FifthRoom.reset = 1; - mob.npc.broadcastPacket(new NpcSay(mob.npc.getObjectId(), Say2.NPC_ALL, mob.npc.getId(), _faildChat[getRandom(_faildChat.length)])); + mob.npc.broadcastPacket(new NpcSay(mob.npc.getObjectId(), ChatType.NPC_GENERAL, mob.npc.getId(), _faildChat[getRandom(_faildChat.length)])); startQuestTimer("decayChatBelethSamples", 4000, npc, player); startQuestTimer("decayBelethSamples", 4500, npc, player); } @@ -991,7 +991,7 @@ public final class DarkCloudMansion extends AbstractInstance { if (mob.status == 1) { - mob.npc.broadcastPacket(new NpcSay(mob.npc.getObjectId(), Say2.NPC_ALL, mob.npc.getId(), _decayChat[getRandom(_decayChat.length)])); + mob.npc.broadcastPacket(new NpcSay(mob.npc.getObjectId(), ChatType.NPC_GENERAL, mob.npc.getId(), _decayChat[getRandom(_decayChat.length)])); } } } diff --git a/trunk/dist/game/data/scripts/instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java b/trunk/dist/game/data/scripts/instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java index 1906b171b2..91f686cd87 100644 --- a/trunk/dist/game/data/scripts/instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java +++ b/trunk/dist/game/data/scripts/instances/DisciplesNecropolisPast/DisciplesNecropolisPast.java @@ -26,6 +26,7 @@ import java.util.Map; import javolution.util.FastList; import quests.Q00196_SevenSignsSealOfTheEmperor.Q00196_SevenSignsSealOfTheEmperor; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -35,7 +36,6 @@ import com.l2jserver.gameserver.model.instancezone.InstanceWorld; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.util.Util; @@ -224,12 +224,12 @@ public final class DisciplesNecropolisPast extends AbstractInstance { if (caster.isScriptValue(0)) { - caster.broadcastPacket(new NpcSay(caster.getObjectId(), Say2.NPC_SHOUT, caster.getId(), NpcStringId.YOU_SUCH_A_FOOL_THE_VICTORY_OVER_THIS_WAR_BELONGS_TO_SHILEN)); + caster.broadcastPacket(new NpcSay(caster.getObjectId(), ChatType.NPC_SHOUT, caster.getId(), NpcStringId.YOU_SUCH_A_FOOL_THE_VICTORY_OVER_THIS_WAR_BELONGS_TO_SHILEN)); caster.setScriptValue(1); } else if (getRandom(100) < 10) { - caster.broadcastPacket(new NpcSay(caster.getObjectId(), Say2.NPC_SHOUT, caster.getId(), LILITH_SHOUT[getRandom(3)])); + caster.broadcastPacket(new NpcSay(caster.getObjectId(), ChatType.NPC_SHOUT, caster.getId(), LILITH_SHOUT[getRandom(3)])); } } } @@ -243,10 +243,10 @@ public final class DisciplesNecropolisPast extends AbstractInstance { if (caster.isScriptValue(0)) { - caster.broadcastPacket(new NpcSay(caster.getObjectId(), Say2.NPC_SHOUT, caster.getId(), NpcStringId.FOR_THE_ETERNITY_OF_EINHASAD)); + caster.broadcastPacket(new NpcSay(caster.getObjectId(), ChatType.NPC_SHOUT, caster.getId(), NpcStringId.FOR_THE_ETERNITY_OF_EINHASAD)); if (Util.checkIfInRange(2000, caster, player, true)) { - player.sendPacket(new NpcSay(caster.getObjectId(), Say2.TELL, caster.getId(), NpcStringId.MY_POWER_S_WEAKENING_HURRY_AND_TURN_ON_THE_SEALING_DEVICE)); + player.sendPacket(new NpcSay(caster.getObjectId(), ChatType.TELL, caster.getId(), NpcStringId.MY_POWER_S_WEAKENING_HURRY_AND_TURN_ON_THE_SEALING_DEVICE)); } caster.setScriptValue(1); } @@ -256,28 +256,28 @@ public final class DisciplesNecropolisPast extends AbstractInstance { case 0: { - caster.broadcastPacket(new NpcSay(caster.getObjectId(), Say2.NPC_SHOUT, caster.getId(), NpcStringId.DEAR_SHILLIEN_S_OFFSPRINGS_YOU_ARE_NOT_CAPABLE_OF_CONFRONTING_US)); + caster.broadcastPacket(new NpcSay(caster.getObjectId(), ChatType.NPC_SHOUT, caster.getId(), NpcStringId.DEAR_SHILLIEN_S_OFFSPRINGS_YOU_ARE_NOT_CAPABLE_OF_CONFRONTING_US)); if (Util.checkIfInRange(2000, caster, player, true)) { - player.sendPacket(new NpcSay(caster.getObjectId(), Say2.TELL, caster.getId(), NpcStringId.ALL_4_SEALING_DEVICES_MUST_BE_TURNED_ON)); + player.sendPacket(new NpcSay(caster.getObjectId(), ChatType.TELL, caster.getId(), NpcStringId.ALL_4_SEALING_DEVICES_MUST_BE_TURNED_ON)); } break; } case 1: { - caster.broadcastPacket(new NpcSay(caster.getObjectId(), Say2.NPC_SHOUT, caster.getId(), NpcStringId.I_LL_SHOW_YOU_THE_REAL_POWER_OF_EINHASAD)); + caster.broadcastPacket(new NpcSay(caster.getObjectId(), ChatType.NPC_SHOUT, caster.getId(), NpcStringId.I_LL_SHOW_YOU_THE_REAL_POWER_OF_EINHASAD)); if (Util.checkIfInRange(2000, caster, player, true)) { - player.sendPacket(new NpcSay(caster.getObjectId(), Say2.TELL, caster.getId(), NpcStringId.LILITH_ATTACK_IS_GETTING_STRONGER_GO_AHEAD_AND_TURN_IT_ON)); + player.sendPacket(new NpcSay(caster.getObjectId(), ChatType.TELL, caster.getId(), NpcStringId.LILITH_ATTACK_IS_GETTING_STRONGER_GO_AHEAD_AND_TURN_IT_ON)); } break; } case 2: { - caster.broadcastPacket(new NpcSay(caster.getObjectId(), Say2.NPC_SHOUT, caster.getId(), NpcStringId.DEAR_MILITARY_FORCE_OF_LIGHT_GO_DESTROY_THE_OFFSPRINGS_OF_SHILLIEN)); + caster.broadcastPacket(new NpcSay(caster.getObjectId(), ChatType.NPC_SHOUT, caster.getId(), NpcStringId.DEAR_MILITARY_FORCE_OF_LIGHT_GO_DESTROY_THE_OFFSPRINGS_OF_SHILLIEN)); if (Util.checkIfInRange(2000, caster, player, true)) { - player.sendPacket(new NpcSay(caster.getObjectId(), Say2.TELL, caster.getId(), NpcStringId.DEAR_S1_GIVE_ME_MORE_STRENGTH).addStringParameter(player.getName())); + player.sendPacket(new NpcSay(caster.getObjectId(), ChatType.TELL, caster.getId(), NpcStringId.DEAR_S1_GIVE_ME_MORE_STRENGTH).addStringParameter(player.getName())); } break; } @@ -303,7 +303,7 @@ public final class DisciplesNecropolisPast extends AbstractInstance { if (npc.isScriptValue(0)) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.THIS_PLACE_ONCE_BELONGED_TO_LORD_SHILEN)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.THIS_PLACE_ONCE_BELONGED_TO_LORD_SHILEN)); npc.setScriptValue(1); } break; @@ -313,7 +313,7 @@ public final class DisciplesNecropolisPast extends AbstractInstance { if (npc.isScriptValue(0)) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.WHO_DARES_ENTER_THIS_PLACE)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.WHO_DARES_ENTER_THIS_PLACE)); npc.setScriptValue(1); } break; @@ -323,7 +323,7 @@ public final class DisciplesNecropolisPast extends AbstractInstance { if (npc.isScriptValue(0)) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.THOSE_WHO_ARE_AFRAID_SHOULD_GET_AWAY_AND_THOSE_WHO_ARE_BRAVE_SHOULD_FIGHT)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.THOSE_WHO_ARE_AFRAID_SHOULD_GET_AWAY_AND_THOSE_WHO_ARE_BRAVE_SHOULD_FIGHT)); npc.setScriptValue(1); } break; @@ -332,7 +332,7 @@ public final class DisciplesNecropolisPast extends AbstractInstance { if (npc.isScriptValue(0)) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.LEAVE_NOW)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.LEAVE_NOW)); npc.setScriptValue(1); } break; @@ -388,19 +388,19 @@ public final class DisciplesNecropolisPast extends AbstractInstance case LILIM_MAGUS: case LILIM_GREAT_MAGUS: { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.LORD_SHILEN_SOME_DAY_YOU_WILL_ACCOMPLISH_THIS_MISSION)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.LORD_SHILEN_SOME_DAY_YOU_WILL_ACCOMPLISH_THIS_MISSION)); break; } case LILIM_KNIGHT_ERRANT: case LILIM_KNIGHT: case LILIM_GUARD_KNIGHT: { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.WHY_ARE_YOU_GETTING_IN_OUR_WAY)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.WHY_ARE_YOU_GETTING_IN_OUR_WAY)); break; } case LILIM_SLAYER: { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.FOR_SHILEN)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.FOR_SHILEN)); break; } } diff --git a/trunk/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java b/trunk/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java index 42f9d36957..1e9afcc4a2 100644 --- a/trunk/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java +++ b/trunk/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java @@ -27,6 +27,7 @@ import java.util.concurrent.ConcurrentHashMap; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.enums.CategoryType; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Character; @@ -36,7 +37,6 @@ import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.instancezone.InstanceWorld; import com.l2jserver.gameserver.model.zone.L2ZoneType; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.ExSendUIEvent; import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage; import com.l2jserver.gameserver.util.Util; @@ -154,42 +154,42 @@ public final class HarnakUndergroundRuins extends AbstractInstance } case "razkan_say": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.COME_ATTACK_ME_IF_YOU_DARE); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.COME_ATTACK_ME_IF_YOU_DARE); break; } case "bathus_say": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.IT_S_THE_END_FOR_YOU_TRAITOR); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.IT_S_THE_END_FOR_YOU_TRAITOR); break; } case "bamonti_say": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.I_WANT_TO_HEAR_YOU_CRY); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.I_WANT_TO_HEAR_YOU_CRY); break; } case "carcass_say": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.I_WANT_TO_HEAR_YOU_CRY); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.I_WANT_TO_HEAR_YOU_CRY); break; } case "khan_say": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.YOU_LL_HAVE_TO_KILL_US_FIRST); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.YOU_LL_HAVE_TO_KILL_US_FIRST); break; } case "seknus_say": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.LETS_SEE_WHAT_YOU_ARE_MADE_OF); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.LETS_SEE_WHAT_YOU_ARE_MADE_OF); break; } case "lotus_say": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.REPENT_AND_YOUR_DEATH_WILL_BE_QUICK); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.REPENT_AND_YOUR_DEATH_WILL_BE_QUICK); break; } case "ele_say": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.DIE_TRAITOR); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.DIE_TRAITOR); break; } case "spawn_npc1": @@ -205,7 +205,7 @@ public final class HarnakUndergroundRuins extends AbstractInstance { world.currentNpc = RAKZAN; razkan.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, NPC_ROOM1_LOC); - broadcastNpcSay(razkan, Say2.NPC_ALL, NpcStringId.ARE_YOU_AGAINST_THE_WILL_OF_LIGHT); + broadcastNpcSay(razkan, ChatType.NPC_GENERAL, NpcStringId.ARE_YOU_AGAINST_THE_WILL_OF_LIGHT); startQuestTimer("razkan_say", 1600, razkan, player); } world.setStatus(1); @@ -402,7 +402,7 @@ public final class HarnakUndergroundRuins extends AbstractInstance spawnedNpcs = spawnGroup("seal", world.getInstanceId()); for (L2Npc spawnedNpc : spawnedNpcs) { - broadcastNpcSay(spawnedNpc, Say2.NPC_ALL, NpcStringId.DISABLE_DEVICE_WILL_GO_OUT_OF_CONTROL_IN_1_MINUTE); + broadcastNpcSay(spawnedNpc, ChatType.NPC_GENERAL, NpcStringId.DISABLE_DEVICE_WILL_GO_OUT_OF_CONTROL_IN_1_MINUTE); startQuestTimer("seal_say", 10000, spawnedNpc, player); } } @@ -439,52 +439,52 @@ public final class HarnakUndergroundRuins extends AbstractInstance { case 0: { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING41); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING41); break; } case 1: { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING42); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING42); break; } case 2: { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING43); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING43); break; } case 3: { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING44); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING44); break; } case 4: { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING45); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.SECONDS_ARE_REMAINING45); break; } case 5: { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.SECONDS); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.SECONDS); break; } case 6: { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.SECONDS2); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.SECONDS2); break; } case 7: { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.SECONDS3); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.SECONDS3); break; } case 8: { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.SECONDS4); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.SECONDS4); break; } case 9: { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.SECOND); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.SECOND); break; } } @@ -515,8 +515,8 @@ public final class HarnakUndergroundRuins extends AbstractInstance { showOnScreenMsg(player, NpcStringId.I_HERMUNCUS_GIVE_MY_POWER_TO_THOSE_WHO_FIGHT_FOR_ME, ExShowScreenMessage.TOP_CENTER, 5000); - broadcastNpcSay(npc, Say2.TELL, NpcStringId.RECEIVE_THIS_POWER_FORM_THE_ANCIENT_GIANT); - broadcastNpcSay(npc, Say2.TELL, NpcStringId.USE_THIS_NEW_POWER_WHEN_THE_TIME_IS_RIGHT); + broadcastNpcSay(npc, ChatType.TELL, NpcStringId.RECEIVE_THIS_POWER_FORM_THE_ANCIENT_GIANT); + broadcastNpcSay(npc, ChatType.TELL, NpcStringId.USE_THIS_NEW_POWER_WHEN_THE_TIME_IS_RIGHT); startQuestTimer("message4", 3000, npc, player); } @@ -567,7 +567,7 @@ public final class HarnakUndergroundRuins extends AbstractInstance if (bathius != null) { bathius.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, NPC_ROOM1_LOC); - broadcastNpcSay(bathius, Say2.NPC_ALL, NpcStringId.ARE_YOU_PLANNING_TO_BETRAY_THE_GODS_AND_FOLLOW_A_GIANT); + broadcastNpcSay(bathius, ChatType.NPC_GENERAL, NpcStringId.ARE_YOU_PLANNING_TO_BETRAY_THE_GODS_AND_FOLLOW_A_GIANT); startQuestTimer("bathus_say", 2600, bathius, killer); world.currentNpc = KRAKIA_BATHUS; } @@ -579,7 +579,7 @@ public final class HarnakUndergroundRuins extends AbstractInstance if (bamonti != null) { bamonti.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, NPC_ROOM1_LOC); - broadcastNpcSay(bamonti, Say2.NPC_ALL, NpcStringId.HAHA); + broadcastNpcSay(bamonti, ChatType.NPC_GENERAL, NpcStringId.HAHA); startQuestTimer("bamonti_say", 2600, bamonti, killer); world.currentNpc = BAMONTI; } @@ -591,7 +591,7 @@ public final class HarnakUndergroundRuins extends AbstractInstance if (carcass != null) { carcass.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, NPC_ROOM1_LOC); - broadcastNpcSay(carcass, Say2.NPC_ALL, NpcStringId.HAHA); + broadcastNpcSay(carcass, ChatType.NPC_GENERAL, NpcStringId.HAHA); startQuestTimer("carcass_say", 2600, carcass, killer); world.currentNpc = KRAKIA_CARCASS; } @@ -603,7 +603,7 @@ public final class HarnakUndergroundRuins extends AbstractInstance if (khan != null) { khan.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, NPC_ROOM1_LOC); - broadcastNpcSay(khan, Say2.NPC_ALL, NpcStringId.YOU_WILL_NOT_FREE_HERMUNCUS); + broadcastNpcSay(khan, ChatType.NPC_GENERAL, NpcStringId.YOU_WILL_NOT_FREE_HERMUNCUS); startQuestTimer("khan_say", 2600, khan, killer); world.currentNpc = WEISS_KHAN; } @@ -615,7 +615,7 @@ public final class HarnakUndergroundRuins extends AbstractInstance if (seknus != null) { seknus.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, NPC_ROOM1_LOC); - broadcastNpcSay(seknus, Say2.NPC_ALL, NpcStringId.MORTAL); + broadcastNpcSay(seknus, ChatType.NPC_GENERAL, NpcStringId.MORTAL); startQuestTimer("seknus_say", 2600, seknus, killer); world.currentNpc = SEKNUS; } @@ -627,7 +627,7 @@ public final class HarnakUndergroundRuins extends AbstractInstance if (lotus != null) { lotus.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, NPC_ROOM1_LOC); - broadcastNpcSay(lotus, Say2.NPC_ALL, NpcStringId.TRYING_TO_FREE_HERMUNCUS); + broadcastNpcSay(lotus, ChatType.NPC_GENERAL, NpcStringId.TRYING_TO_FREE_HERMUNCUS); startQuestTimer("lotus_say", 2600, lotus, killer); world.currentNpc = KRAKIA_LOTUS; } @@ -639,7 +639,7 @@ public final class HarnakUndergroundRuins extends AbstractInstance if (ele != null) { ele.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, NPC_ROOM1_LOC); - broadcastNpcSay(ele, Say2.NPC_ALL, NpcStringId.YOU_WILL_NEVER_BREAK_THE_SEAL); + broadcastNpcSay(ele, ChatType.NPC_GENERAL, NpcStringId.YOU_WILL_NEVER_BREAK_THE_SEAL); startQuestTimer("ele_say", 2600, ele, killer); world.currentNpc = WEISS_ELE; } diff --git a/trunk/dist/game/data/scripts/instances/IceQueensCastle/IceQueensCastle.java b/trunk/dist/game/data/scripts/instances/IceQueensCastle/IceQueensCastle.java index 3626281900..8da051df58 100644 --- a/trunk/dist/game/data/scripts/instances/IceQueensCastle/IceQueensCastle.java +++ b/trunk/dist/game/data/scripts/instances/IceQueensCastle/IceQueensCastle.java @@ -22,6 +22,7 @@ import instances.AbstractInstance; import quests.Q10285_MeetingSirra.Q10285_MeetingSirra; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Attackable; @@ -34,7 +35,6 @@ import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Ice Queen's Castle instance zone. @@ -104,7 +104,7 @@ public final class IceQueensCastle extends AbstractInstance } case "TIMER_BLIZZARD": { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.I_CAN_NO_LONGER_STAND_BY); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.I_CAN_NO_LONGER_STAND_BY); npc.stopMove(null); npc.setTarget(player); npc.doCast(ETHERNAL_BLIZZARD.getSkill()); @@ -154,7 +154,7 @@ public final class IceQueensCastle extends AbstractInstance startQuestTimer("ATTACK_KNIGHT", 5000, npc, null); } } - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.S1_MAY_THE_PROTECTION_OF_THE_GODS_BE_UPON_YOU, creature.getName()); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.S1_MAY_THE_PROTECTION_OF_THE_GODS_BE_UPON_YOU, creature.getName()); } return super.onSeeCreature(npc, creature, isSummon); } diff --git a/trunk/dist/game/data/scripts/instances/IceQueensCastleHardBattle/18851-01.html b/trunk/dist/game/data/scripts/instances/IceQueensCastleBattle/18851-01.html similarity index 100% rename from trunk/dist/game/data/scripts/instances/IceQueensCastleHardBattle/18851-01.html rename to trunk/dist/game/data/scripts/instances/IceQueensCastleBattle/18851-01.html diff --git a/trunk/dist/game/data/scripts/instances/IceQueensCastleHardBattle/18851.html b/trunk/dist/game/data/scripts/instances/IceQueensCastleBattle/18851.html similarity index 69% rename from trunk/dist/game/data/scripts/instances/IceQueensCastleHardBattle/18851.html rename to trunk/dist/game/data/scripts/instances/IceQueensCastleBattle/18851.html index 5f898acc66..f0babc0ab6 100644 --- a/trunk/dist/game/data/scripts/instances/IceQueensCastleHardBattle/18851.html +++ b/trunk/dist/game/data/scripts/instances/IceQueensCastleBattle/18851.html @@ -1,6 +1,6 @@ Kegor:
Without you, we would have failed. I can't thank you enough.
Freya's last breath will flutter against your blade, I can feel it!
- - + + \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/IceQueensCastleNormalBattle/IceQueensCastleNormalBattle.java b/trunk/dist/game/data/scripts/instances/IceQueensCastleBattle/IceQueensCastleBattle.java similarity index 79% rename from trunk/dist/game/data/scripts/instances/IceQueensCastleNormalBattle/IceQueensCastleNormalBattle.java rename to trunk/dist/game/data/scripts/instances/IceQueensCastleBattle/IceQueensCastleBattle.java index 101bc80559..0952ee2525 100644 --- a/trunk/dist/game/data/scripts/instances/IceQueensCastleNormalBattle/IceQueensCastleNormalBattle.java +++ b/trunk/dist/game/data/scripts/instances/IceQueensCastleBattle/IceQueensCastleBattle.java @@ -16,7 +16,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package instances.IceQueensCastleNormalBattle; +package instances.IceQueensCastleBattle; import instances.AbstractInstance; @@ -28,6 +28,7 @@ import java.util.concurrent.CopyOnWriteArrayList; import quests.Q10286_ReunionWithSirra.Q10286_ReunionWithSirra; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.MountType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.L2CommandChannel; @@ -50,19 +51,19 @@ import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.model.variables.NpcVariables; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.ActionFailed; import com.l2jserver.gameserver.network.serverpackets.ExChangeClientEffectInfo; import com.l2jserver.gameserver.network.serverpackets.ExSendUIEvent; +import com.l2jserver.gameserver.network.serverpackets.OnEventTrigger; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; import com.l2jserver.gameserver.taskmanager.DecayTaskManager; import com.l2jserver.gameserver.util.Util; /** - * Ice Queen's Castle (Normal Battle) instance zone. + * Ice Queen's Castle (Battle) instance zone. * @author St3eT */ -public final class IceQueensCastleNormalBattle extends AbstractInstance +public final class IceQueensCastleBattle extends AbstractInstance { protected class IQCNBWorld extends InstanceWorld { @@ -75,23 +76,29 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance protected L2QuestGuardInstance supp_Kegor = null; protected boolean isSupportActive = false; protected boolean canSpawnMobs = true; + protected boolean isHardCore = false; } // Npcs private static final int FREYA_THRONE = 29177; // First freya private static final int FREYA_SPELLING = 29178; // Second freya - private static final int FREYA_STAND = 29179; // Last freya + private static final int FREYA_STAND_EASY = 29179; // Last freya - Easy mode + private static final int FREYA_STAND_HARD = 29180; // Last freya - Hardcore mode private static final int INVISIBLE_NPC = 18919; - private static final int KNIGHT = 18855; // Archery Knight + private static final int KNIGHT_EASY = 18855; // Archery Knight - Easy mode + private static final int KNIGHT_HARD = 18856; // Archery Knight - Hardcore mode private static final int GLACIER = 18853; // Glacier private static final int BREATH = 18854; // Archer's Breath - private static final int GLAKIAS = 25699; // Glakias (Archery Knight Captain) + private static final int GLAKIAS_EASY = 25699; // Glakias (Archery Knight Captain) - Easy mode + private static final int GLAKIAS_HARD = 25700; // Glakias (Archery Knight Captain) - Hardcore mode private static final int SIRRA = 32762; // Sirra private static final int JINIA = 32781; // Jinia private static final int SUPP_JINIA = 18850; // Jinia private static final int SUPP_KEGOR = 18851; // Kegor // Skills - private static final SkillHolder BLIZZARD = new SkillHolder(6274, 1); // Eternal Blizzard + private static final SkillHolder BLIZZARD_EASY = new SkillHolder(6274, 1); // Eternal Blizzard + private static final SkillHolder BLIZZARD_HARD = new SkillHolder(6275, 1); // Eternal Blizzard + private static final SkillHolder BLIZZARD_FORCE = new SkillHolder(6697, 1); // Eternal Blizzard private static final SkillHolder BLIZZARD_BREATH = new SkillHolder(6299, 1); // Breath of Ice Palace - Ice Storm private static final SkillHolder SUICIDE_BREATH = new SkillHolder(6300, 1); // Self-Destruction private static final SkillHolder JINIA_SUPPORT = new SkillHolder(6288, 1); // Jinia's Prayer @@ -101,13 +108,15 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance private static final SkillHolder POWER_STRIKE = new SkillHolder(6293, 1); // Power Strike private static final SkillHolder POINT_TARGET = new SkillHolder(6295, 1); // Point Target private static final SkillHolder CYLINDER_THROW = new SkillHolder(6297, 1); // Cylinder Throw - private static final SkillHolder SelfRangeBuff = new SkillHolder(6294, 1); // Leader's Roar + private static final SkillHolder SELF_RANGE_BUFF = new SkillHolder(6294, 1); // Leader's Roar private static final SkillHolder LEADER_RUSH = new SkillHolder(6296, 1); // Rush private static final SkillHolder ANTI_STRIDER = new SkillHolder(4258, 1); // Hinder Strider private static final SkillHolder ICE_BALL = new SkillHolder(6278, 1); // Ice Ball private static final SkillHolder SUMMON_ELEMENTAL = new SkillHolder(6277, 1); // Summon Spirits private static final SkillHolder SELF_NOVA = new SkillHolder(6279, 1); // Attack Nearby Range private static final SkillHolder REFLECT_MAGIC = new SkillHolder(6282, 1); // Reflect Magic + private static final SkillHolder FREYA_ANGER = new SkillHolder(6285, 1); // Rage of Ice + private static final SkillHolder FREYA_BUFF = new SkillHolder(6284, 1); // Freya's Bless // Locations private static final Location FREYA_SPAWN = new Location(114720, -117085, -11088, 15956); private static final Location FREYA_SPELLING_SPAWN = new Location(114723, -117502, -10672, 15956); @@ -158,26 +167,41 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance private static final int MAX_PLAYERS = 27; private static final int MIN_PLAYERS = 10; private static final int MIN_LEVEL = 82; - private static final int TEMPLATE_ID = 139; // Ice Queen's Castle + private static final int TEMPLATE_ID_EASY = 139; // Ice Queen's Castle + private static final int TEMPLATE_ID_HARD = 144; // Ice Queen's Castle (Epic) private static final int DOOR_ID = 23140101; - - public IceQueensCastleNormalBattle() + private static int[] EMMITERS = { - super(IceQueensCastleNormalBattle.class.getSimpleName()); + 23140202, + 23140204, + 23140206, + 23140208, + 23140212, + 23140214, + 23140216, + }; + + public IceQueensCastleBattle() + { + super(IceQueensCastleBattle.class.getSimpleName()); addStartNpc(SIRRA, SUPP_KEGOR, SUPP_JINIA); addFirstTalkId(SUPP_KEGOR, SUPP_JINIA); addTalkId(SIRRA, JINIA, SUPP_KEGOR); - addAttackId(FREYA_THRONE, FREYA_STAND, GLAKIAS, GLACIER, BREATH, KNIGHT); - addKillId(GLAKIAS, FREYA_STAND, KNIGHT, GLACIER, BREATH); + addAttackId(FREYA_THRONE, FREYA_STAND_EASY, FREYA_STAND_HARD, GLAKIAS_EASY, GLAKIAS_HARD, GLACIER, BREATH, KNIGHT_EASY, KNIGHT_HARD); + addKillId(GLAKIAS_EASY, GLAKIAS_HARD, FREYA_STAND_EASY, FREYA_STAND_HARD, KNIGHT_EASY, KNIGHT_HARD, GLACIER, BREATH); addSpellFinishedId(GLACIER, BREATH); } @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { - if (event.equals("enter")) + if (event.equals("enterEasy")) { - enterInstance(player, new IQCNBWorld(), "IceQueensCastleNormalBattle.xml", TEMPLATE_ID); + enterInstance(player, new IQCNBWorld(), "IceQueensCastleBattleEasy.xml", TEMPLATE_ID_EASY); + } + else if (event.equals("enterHardcore")) + { + enterInstance(player, new IQCNBWorld(), "IceQueensCastleBattleHardcore.xml", TEMPLATE_ID_HARD); } else { @@ -203,14 +227,18 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance world.knightStatues.add(statue); } } - for (L2PcInstance players : world.playersInside) + + if (!world.isHardCore) { - if ((players != null) && !players.isDead() && (players.getInstanceId() == world.getInstanceId())) + for (L2PcInstance players : world.playersInside) { - final QuestState qs = player.getQuestState(Q10286_ReunionWithSirra.class.getSimpleName()); - if ((qs != null) && (qs.getState() == State.STARTED) && qs.isCond(5)) + if ((players != null) && !players.isDead() && (players.getInstanceId() == world.getInstanceId())) { - qs.setCond(6, true); + final QuestState qs = player.getQuestState(Q10286_ReunionWithSirra.class.getSimpleName()); + if ((qs != null) && (qs.getState() == State.STARTED) && qs.isCond(5)) + { + qs.setCond(6, true); + } } } } @@ -278,7 +306,7 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance world.freya = (L2GrandBossInstance) addSpawn(FREYA_SPELLING, FREYA_SPELLING_SPAWN, false, 0, true, world.getInstanceId()); world.freya.setIsInvul(true); world.freya.disableCoreAI(true); - manageTimer(world, 60); + manageTimer(world, 60, NpcStringId.TIME_REMAINING_UNTIL_NEXT_BATTLE); world.setStatus(2); startQuestTimer("STAGE_2_START", 60000, world.controller, null); break; @@ -288,6 +316,13 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance world.canSpawnMobs = true; notifyEvent("START_SPAWN", world.controller, null); manageScreenMsg(world, NpcStringId.BEGIN_STAGE_2); + + if (world.isHardCore) + { + startQuestTimer("STAGE_2_FAILED", 360000, world.controller, null); + manageTimer(world, 360, NpcStringId.BATTLE_END_LIMIT_TIME); + world.controller.getVariables().set("TIMER_END", System.currentTimeMillis() + 360000); + } break; } case "STAGE_2_MOVIE": @@ -307,8 +342,25 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance startQuestTimer("SPAWN_KNIGHT", 5000, statue, null); } } - final L2RaidBossInstance glakias = (L2RaidBossInstance) addSpawn(GLAKIAS, GLAKIAS_SPAWN, false, 0, true, world.getInstanceId()); + + final L2RaidBossInstance glakias = (L2RaidBossInstance) addSpawn((world.isHardCore ? GLAKIAS_HARD : GLAKIAS_EASY), GLAKIAS_SPAWN, false, 0, true, world.getInstanceId()); startQuestTimer("LEADER_DELAY", 5000, glakias, null); + + if (world.isHardCore) + { + startQuestTimer("SHOW_GLAKIAS_TIMER", 3000, world.controller, null); + } + break; + } + case "STAGE_2_FAILED": + { + manageMovie(world, 22); + startQuestTimer("STAGE_2_FAILED2", 22000, npc, null); + break; + } + case "STAGE_2_FAILED2": + { + InstanceManager.getInstance().destroyInstance(world.getInstanceId()); break; } case "STAGE_3_MOVIE": @@ -324,17 +376,34 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance if (players != null) { players.broadcastPacket(ExChangeClientEffectInfo.STATIC_FREYA_DESTROYED); + + for (int emmiterId : EMMITERS) + { + players.sendPacket(new OnEventTrigger(emmiterId, true)); + } } } world.setStatus(4); world.freya.deleteMe(); world.canSpawnMobs = true; - world.freya = (L2GrandBossInstance) addSpawn(FREYA_STAND, FREYA_SPAWN, false, 0, true, world.getInstanceId()); + world.freya = (L2GrandBossInstance) addSpawn((world.isHardCore ? FREYA_STAND_HARD : FREYA_STAND_EASY), FREYA_SPAWN, false, 0, true, world.getInstanceId()); world.controller.getVariables().set("FREYA_MOVE", 0); notifyEvent("START_SPAWN", world.controller, null); startQuestTimer("START_MOVE", 10000, world.controller, null); startQuestTimer("CAST_BLIZZARD", 50000, world.controller, null); manageScreenMsg(world, NpcStringId.BEGIN_STAGE_3); + + if (world.isHardCore) + { + world.freya.doCast(FREYA_ANGER.getSkill()); + startQuestTimer("FREYA_BUFF", 15000, world.controller, null); + } + break; + } + case "FREYA_BUFF": + { + world.freya.doCast(FREYA_BUFF.getSkill()); + startQuestTimer("FREYA_BUFF", 15000, world.controller, null); break; } case "START_MOVE": @@ -351,10 +420,25 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance { if (!world.freya.isInvul()) { - world.freya.doCast(BLIZZARD.getSkill()); - manageScreenMsg(world, NpcStringId.STRONG_MAGIC_POWER_CAN_BE_FELT_FROM_SOMEWHERE); + final int manaBurnUse = world.controller.getVariables().getInt("MANA_BURN_USE", 0); + if (world.isHardCore && (manaBurnUse < 4) && (world.freya.getCurrentHp() < (world.freya.getMaxHp() * (0.8 - (0.2 * manaBurnUse))))) + { + world.controller.getVariables().set("MANA_BURN_USE", manaBurnUse + 1); + world.freya.doCast(BLIZZARD_FORCE.getSkill()); + startQuestTimer("MANA_BURN", 7000, world.controller, null); + manageScreenMsg(world, NpcStringId.MAGIC_POWER_SO_STRONG_THAT_IT_COULD_MAKE_YOU_LOSE_YOUR_MIND_CAN_BE_FELT_FROM_SOMEWHERE); + } + else + { + final Skill skill = (world.isHardCore ? BLIZZARD_HARD.getSkill() : BLIZZARD_EASY.getSkill()); + world.freya.doCast(skill); + manageScreenMsg(world, NpcStringId.STRONG_MAGIC_POWER_CAN_BE_FELT_FROM_SOMEWHERE); + } } + final int time = (world.isHardCore ? getRandom(35, 40) : getRandom(55, 60)) * 1000; + startQuestTimer("CAST_BLIZZARD", time, world.controller, null); + for (L2Attackable minion : world.spawnedMobs) { if ((minion != null) && !minion.isDead() && !minion.isInCombat()) @@ -362,7 +446,6 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance manageRandomAttack(world, minion); } } - startQuestTimer("CAST_BLIZZARD", getRandom(55, 60) * 1000, world.controller, null); break; } case "SPAWN_SUPPORT": @@ -381,12 +464,14 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance world.supp_Jinia.setIsRunning(true); world.supp_Jinia.setIsInvul(true); world.supp_Jinia.setCanReturnToSpawnPoint(false); + world.supp_Jinia.reduceCurrentHp(1, world.freya, null); // TODO: Find better way for attack + world.freya.reduceCurrentHp(1, world.supp_Jinia, null); world.supp_Kegor = (L2QuestGuardInstance) addSpawn(SUPP_KEGOR, SUPP_KEGOR_SPAWN, false, 0, true, world.getInstanceId()); world.supp_Kegor.setIsRunning(true); world.supp_Kegor.setIsInvul(true); world.supp_Kegor.setCanReturnToSpawnPoint(false); - startQuestTimer("ATTACK_FREYA", 5000, world.supp_Jinia, null); - startQuestTimer("ATTACK_FREYA", 5000, world.supp_Kegor, null); + world.supp_Kegor.reduceCurrentHp(1, world.freya, null); // TODO: Find better way for attack + world.freya.reduceCurrentHp(1, world.supp_Kegor, null); startQuestTimer("GIVE_SUPPORT", 1000, world.controller, null); break; } @@ -417,7 +502,7 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance for (Location loc : KNIGHTS_LOC) { - final L2Attackable knight = (L2Attackable) addSpawn(KNIGHT, loc, false, 0, false, world.getInstanceId()); + final L2Attackable knight = (L2Attackable) addSpawn((world.isHardCore ? KNIGHT_HARD : KNIGHT_EASY), loc, false, 0, false, world.getInstanceId()); knight.disableCoreAI(true); knight.setState(1); knight.getSpawn().setLocation(loc); @@ -436,14 +521,16 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance if (world.canSpawnMobs) { final Location loc = new Location(MIDDLE_POINT.getX() + getRandom(-1000, 1000), MIDDLE_POINT.getY() + getRandom(-1000, 1000), MIDDLE_POINT.getZ()); - final L2Attackable knight = (L2Attackable) addSpawn(KNIGHT, npc.getLocation(), false, 0, false, world.getInstanceId()); + final L2Attackable knight = (L2Attackable) addSpawn(world.isHardCore ? KNIGHT_HARD : KNIGHT_EASY, npc.getLocation(), false, 0, false, world.getInstanceId()); knight.getVariables().set("SPAWNED_NPC", npc); knight.disableCoreAI(true); knight.setIsImmobilized(true); knight.setState(1); knight.getSpawn().setLocation(loc); world.spawnedMobs.add(knight); - startQuestTimer("ICE_RUPTURE", getRandom(5, 10) * 1000, knight, null); + + final int time = (world.isHardCore ? getRandom(5, 10) : getRandom(15, 20)) * 1000; + startQuestTimer("ICE_RUPTURE", time, knight, null); } break; } @@ -537,29 +624,6 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance } break; } - case "ATTACK_FREYA": - { - final SkillHolder skill = npc.getTemplate().getParameters().getObject("Skill01_ID", SkillHolder.class); - if (npc.isInsideRadius(world.freya, 100, true, false)) - { - if (npc.checkDoCastConditions(skill.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(world.freya); - npc.doCast(skill.getSkill()); - startQuestTimer("ATTACK_FREYA", 20000, npc, null); - } - else - { - startQuestTimer("ATTACK_FREYA", 5000, npc, null); - } - } - else - { - npc.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, world.freya); - startQuestTimer("ATTACK_FREYA", 5000, npc, null); - } - break; - } case "FINISH_WORLD": { if (world.freya != null) @@ -579,10 +643,10 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance } case "LEADER_RANGEBUFF": { - if (npc.checkDoCastConditions(SelfRangeBuff.getSkill()) && !npc.isCastingNow()) + if (npc.checkDoCastConditions(SELF_RANGE_BUFF.getSkill()) && !npc.isCastingNow()) { npc.setTarget(npc); - npc.doCast(SelfRangeBuff.getSkill()); + npc.doCast(SELF_RANGE_BUFF.getSkill()); } else { @@ -627,22 +691,22 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance { case 0: { - broadcastNpcSay(npc, Say2.SHOUT, NpcStringId.ARCHER_GIVE_YOUR_BREATH_FOR_THE_INTRUDER); + broadcastNpcSay(npc, ChatType.SHOUT, NpcStringId.ARCHER_GIVE_YOUR_BREATH_FOR_THE_INTRUDER); break; } case 1: { - broadcastNpcSay(npc, Say2.SHOUT, NpcStringId.MY_KNIGHTS_SHOW_YOUR_LOYALTY); + broadcastNpcSay(npc, ChatType.SHOUT, NpcStringId.MY_KNIGHTS_SHOW_YOUR_LOYALTY); break; } case 2: { - broadcastNpcSay(npc, Say2.SHOUT, NpcStringId.I_CAN_TAKE_IT_NO_LONGER); + broadcastNpcSay(npc, ChatType.SHOUT, NpcStringId.I_CAN_TAKE_IT_NO_LONGER); break; } case 3: { - broadcastNpcSay(npc, Say2.SHOUT, NpcStringId.ARCHER_HEED_MY_CALL); + broadcastNpcSay(npc, ChatType.SHOUT, NpcStringId.ARCHER_HEED_MY_CALL); for (int i = 0; i < 3; i++) { final L2Attackable breath = (L2Attackable) addSpawn(BREATH, npc.getLocation(), true, 0, false, world.getInstanceId()); @@ -666,6 +730,24 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance } break; } + case "SHOW_GLAKIAS_TIMER": + { + final int time = (int) ((world.controller.getVariables().getLong("TIMER_END", 0) - System.currentTimeMillis()) / 1000); + manageTimer(world, time, NpcStringId.BATTLE_END_LIMIT_TIME); + break; + } + case "MANA_BURN": + { + for (L2PcInstance temp : world.playersInside) + { + if ((temp != null) && (temp.getInstanceId() == world.getInstanceId())) + { + temp.setCurrentMp(0); + temp.broadcastStatusUpdate(); + } + } + break; + } } } } @@ -788,7 +870,8 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance } break; } - case FREYA_STAND: + case FREYA_STAND_EASY: + case FREYA_STAND_HARD: { if (world.controller.getVariables().getInt("FREYA_MOVE") == 0) { @@ -898,7 +981,8 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance } break; } - case KNIGHT: + case KNIGHT_EASY: + case KNIGHT_HARD: { if (npc.isCoreAIDisabled()) { @@ -910,7 +994,8 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance } break; } - case GLAKIAS: + case GLAKIAS_EASY: + case GLAKIAS_HARD: { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.02)) { @@ -1055,29 +1140,32 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance final IQCNBWorld world = (IQCNBWorld) tmpworld; switch (npc.getId()) { - case GLAKIAS: + case GLAKIAS_EASY: + case GLAKIAS_HARD: { manageDespawnMinions(world); - manageTimer(world, 60); + manageTimer(world, 60, NpcStringId.TIME_REMAINING_UNTIL_NEXT_BATTLE); + cancelQuestTimer("STAGE_2_FAILED", world.controller, null); startQuestTimer("STAGE_3_MOVIE", 60000, world.controller, null); break; } - case FREYA_STAND: + case FREYA_STAND_EASY: + case FREYA_STAND_HARD: { world.isSupportActive = false; manageMovie(world, 19); manageDespawnMinions(world); finishInstance(world); DecayTaskManager.getInstance().cancel(world.freya); - cancelQuestTimer("ATTACK_FREYA", world.supp_Jinia, null); - cancelQuestTimer("ATTACK_FREYA", world.supp_Kegor, null); cancelQuestTimer("GIVE_SUPPORT", world.controller, null); cancelQuestTimer("CAST_BLIZZARD", world.controller, null); + cancelQuestTimer("FREYA_BUFF", world.controller, null); startQuestTimer("FINISH_STAGE", 16000, world.controller, null); startQuestTimer("FINISH_WORLD", 300000, world.controller, null); break; } - case KNIGHT: + case KNIGHT_EASY: + case KNIGHT_HARD: { final L2Npc spawnedBy = npc.getVariables().getObject("SPAWNED_NPC", L2Npc.class); final NpcVariables var = world.controller.getVariables(); @@ -1105,7 +1193,8 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance if (spawnedBy != null) { - startQuestTimer("SPAWN_KNIGHT", getRandom(30, 60) * 1000, spawnedBy, null); + final int time = (world.isHardCore ? getRandom(30, 60) : getRandom(50, 60)) * 1000; + startQuestTimer("SPAWN_KNIGHT", time, spawnedBy, null); } world.spawnedMobs.remove(npc); break; @@ -1131,22 +1220,38 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance { if (firstEntrance) { + final IQCNBWorld curworld = (IQCNBWorld) world; + curworld.isHardCore = curworld.getTemplateId() == TEMPLATE_ID_HARD; + if (!player.isInParty()) { - managePlayerEnter(player, (IQCNBWorld) world); + managePlayerEnter(player, curworld); } else if (player.getParty().isInCommandChannel()) { for (L2PcInstance players : player.getParty().getCommandChannel().getMembers()) { - managePlayerEnter(players, (IQCNBWorld) world); + managePlayerEnter(players, curworld); } } else { for (L2PcInstance players : player.getParty().getMembers()) { - managePlayerEnter(players, (IQCNBWorld) world); + managePlayerEnter(players, curworld); + } + } + + for (L2PcInstance players : curworld.playersInside) + { + if (players != null) + { + players.broadcastPacket(ExChangeClientEffectInfo.STATIC_FREYA_DEFAULT); + + for (int emmiterId : EMMITERS) + { + players.sendPacket(new OnEventTrigger(emmiterId, false)); + } } } } @@ -1169,7 +1274,7 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance final L2Party party = player.getParty(); final L2CommandChannel channel = party != null ? party.getCommandChannel() : null; - if (player.isGM() && player.canOverrideCond(PcCondOverride.INSTANCE_CONDITIONS)) + if (player.canOverrideCond(PcCondOverride.INSTANCE_CONDITIONS)) { return true; } @@ -1210,7 +1315,14 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance party.broadcastPacket(sm); return false; } - else if (System.currentTimeMillis() < InstanceManager.getInstance().getInstanceTime(channelMember.getObjectId(), TEMPLATE_ID)) + else if (System.currentTimeMillis() < InstanceManager.getInstance().getInstanceTime(channelMember.getObjectId(), TEMPLATE_ID_EASY)) + { + SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET); + sm.addPcName(channelMember); + party.broadcastPacket(sm); + return false; + } + else if (System.currentTimeMillis() < InstanceManager.getInstance().getInstanceTime(channelMember.getObjectId(), TEMPLATE_ID_HARD)) { SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET); sm.addPcName(channelMember); @@ -1258,13 +1370,13 @@ public final class IceQueensCastleNormalBattle extends AbstractInstance } } - private void manageTimer(IQCNBWorld world, int time) + private void manageTimer(IQCNBWorld world, int time, NpcStringId npcStringId) { for (L2PcInstance players : world.playersInside) { if ((players != null) && (players.getInstanceId() == world.getInstanceId())) { - players.sendPacket(new ExSendUIEvent(players, false, false, time, 0, "Time remaining until next battle")); + players.sendPacket(new ExSendUIEvent(players, false, false, time, 0, npcStringId)); } } } diff --git a/trunk/dist/game/data/scripts/instances/IceQueensCastleHardBattle/IceQueensCastleHardBattle.java b/trunk/dist/game/data/scripts/instances/IceQueensCastleHardBattle/IceQueensCastleHardBattle.java deleted file mode 100644 index 8bb79a16d6..0000000000 --- a/trunk/dist/game/data/scripts/instances/IceQueensCastleHardBattle/IceQueensCastleHardBattle.java +++ /dev/null @@ -1,1293 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package instances.IceQueensCastleHardBattle; - -import instances.AbstractInstance; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.concurrent.CopyOnWriteArrayList; - -import quests.Q10286_ReunionWithSirra.Q10286_ReunionWithSirra; - -import com.l2jserver.gameserver.ai.CtrlIntention; -import com.l2jserver.gameserver.enums.MountType; -import com.l2jserver.gameserver.instancemanager.InstanceManager; -import com.l2jserver.gameserver.model.L2CommandChannel; -import com.l2jserver.gameserver.model.L2Party; -import com.l2jserver.gameserver.model.Location; -import com.l2jserver.gameserver.model.PcCondOverride; -import com.l2jserver.gameserver.model.actor.L2Attackable; -import com.l2jserver.gameserver.model.actor.L2Character; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2GrandBossInstance; -import com.l2jserver.gameserver.model.actor.instance.L2NpcInstance; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.actor.instance.L2QuestGuardInstance; -import com.l2jserver.gameserver.model.actor.instance.L2RaidBossInstance; -import com.l2jserver.gameserver.model.holders.SkillHolder; -import com.l2jserver.gameserver.model.instancezone.InstanceWorld; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.model.skills.Skill; -import com.l2jserver.gameserver.model.variables.NpcVariables; -import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; -import com.l2jserver.gameserver.network.serverpackets.ActionFailed; -import com.l2jserver.gameserver.network.serverpackets.ExChangeClientEffectInfo; -import com.l2jserver.gameserver.network.serverpackets.ExSendUIEvent; -import com.l2jserver.gameserver.network.serverpackets.SystemMessage; -import com.l2jserver.gameserver.taskmanager.DecayTaskManager; -import com.l2jserver.gameserver.util.Util; - -/** - * Ice Queen's Castle (Hard Battle) instance zone. - * @author St3eT - */ -public final class IceQueensCastleHardBattle extends AbstractInstance -{ - protected class IQCNBWorld extends InstanceWorld - { - protected List playersInside = new ArrayList<>(); - protected List knightStatues = new ArrayList<>(); - protected List spawnedMobs = new CopyOnWriteArrayList<>(); - protected L2NpcInstance controller = null; - protected L2GrandBossInstance freya = null; - protected L2QuestGuardInstance supp_Jinia = null; - protected L2QuestGuardInstance supp_Kegor = null; - protected boolean isSupportActive = false; - protected boolean canSpawnMobs = true; - } - - // Npcs - private static final int FREYA_THRONE = 29177; // First freya - private static final int FREYA_SPELLING = 29178; // Second freya - private static final int FREYA_STAND = 29180; // Last freya (hard) - private static final int INVISIBLE_NPC = 18919; - private static final int KNIGHT = 18856; // Archery Knight (hard) - private static final int GLACIER = 18853; // Glacier - private static final int BREATH = 18854; // Archer's Breath - private static final int GLAKIAS = 25700; // Glakias (hard) - private static final int SIRRA = 32762; // Sirra - private static final int JINIA = 32781; // Jinia - private static final int SUPP_JINIA = 18850; // Jinia - private static final int SUPP_KEGOR = 18851; // Kegor - // Skills - private static final SkillHolder BLIZZARD = new SkillHolder(6274, 1); // Eternal Blizzard - private static final SkillHolder BLIZZARD_BREATH = new SkillHolder(6299, 1); // Breath of Ice Palace - Ice Storm - private static final SkillHolder SUICIDE_BREATH = new SkillHolder(6300, 1); // Self-Destruction - private static final SkillHolder JINIA_SUPPORT = new SkillHolder(6288, 1); // Jinia's Prayer - private static final SkillHolder KEGOR_SUPPORT = new SkillHolder(6289, 1); // Kegor's Courage - private static final SkillHolder ICE_STONE = new SkillHolder(6301, 1); // Cold Mana's Fragment - private static final SkillHolder CANCEL = new SkillHolder(4618, 1); // NPC Cancel PC Target - private static final SkillHolder POWER_STRIKE = new SkillHolder(6293, 1); // Power Strike - private static final SkillHolder POINT_TARGET = new SkillHolder(6295, 1); // Point Target - private static final SkillHolder CYLINDER_THROW = new SkillHolder(6297, 1); // Cylinder Throw - private static final SkillHolder SelfRangeBuff = new SkillHolder(6294, 1); // Leader's Roar - private static final SkillHolder LEADER_RUSH = new SkillHolder(6296, 1); // Rush - private static final SkillHolder ANTI_STRIDER = new SkillHolder(4258, 1); // Hinder Strider - private static final SkillHolder ICE_BALL = new SkillHolder(6278, 1); // Ice Ball - private static final SkillHolder SUMMON_ELEMENTAL = new SkillHolder(6277, 1); // Summon Spirits - private static final SkillHolder SELF_NOVA = new SkillHolder(6279, 1); // Attack Nearby Range - private static final SkillHolder REFLECT_MAGIC = new SkillHolder(6282, 1); // Reflect Magic - // Locations - private static final Location FREYA_SPAWN = new Location(114720, -117085, -11088, 15956); - private static final Location FREYA_SPELLING_SPAWN = new Location(114723, -117502, -10672, 15956); - private static final Location FREYA_CORPSE = new Location(114767, -114795, -11200, 0); - private static final Location MIDDLE_POINT = new Location(114730, -114805, -11200); - private static final Location KEGOR_FINISH = new Location(114659, -114796, -11205); - private static final Location GLAKIAS_SPAWN = new Location(114707, -114799, -11199, 15956); - private static final Location SUPP_JINIA_SPAWN = new Location(114751, -114781, -11205); - private static final Location SUPP_KEGOR_SPAWN = new Location(114659, -114796, -11205); - private static final Location BATTLE_PORT = new Location(114694, -113700, -11200); - private static final Location CONTROLLER_LOC = new Location(114394, -112383, -11200); - private static final Location[] ENTER_LOC = - { - new Location(114185, -112435, -11210), - new Location(114183, -112280, -11210), - new Location(114024, -112435, -11210), - new Location(114024, -112278, -11210), - new Location(113865, -112435, -11210), - new Location(113865, -112276, -11210), - - }; - private static final Location[] STATUES_LOC = - { - new Location(113845, -116091, -11168, 8264), - new Location(113381, -115622, -11168, 8264), - new Location(113380, -113978, -11168, -8224), - new Location(113845, -113518, -11168, -8224), - new Location(115591, -113516, -11168, -24504), - new Location(116053, -113981, -11168, -24504), - new Location(116061, -115611, -11168, 24804), - new Location(115597, -116080, -11168, 24804), - new Location(112942, -115480, -10960, 52), - new Location(112940, -115146, -10960, 52), - new Location(112945, -114453, -10960, 52), - new Location(112945, -114123, -10960, 52), - new Location(116497, -114117, -10960, 32724), - new Location(116499, -114454, -10960, 32724), - new Location(116501, -115145, -10960, 32724), - new Location(116502, -115473, -10960, 32724), - }; - private static Location[] KNIGHTS_LOC = - { - new Location(114502, -115315, -11205, 15451), - new Location(114937, -115323, -11205, 18106), - new Location(114722, -115185, -11205, 16437), - }; - // Misc - private static final int MAX_PLAYERS = 45; // (hard) - private static final int MIN_PLAYERS = 36; // (hard) - private static final int MIN_LEVEL = 82; - private static final int TEMPLATE_ID = 144; // Ice Queen's Castle (hard) - private static final int DOOR_ID = 23140101; - - public IceQueensCastleHardBattle() - { - super(IceQueensCastleHardBattle.class.getSimpleName()); - addStartNpc(SIRRA, SUPP_KEGOR, SUPP_JINIA); - addFirstTalkId(SUPP_KEGOR, SUPP_JINIA); - addTalkId(SIRRA, JINIA, SUPP_KEGOR); - addAttackId(FREYA_THRONE, FREYA_STAND, GLAKIAS, GLACIER, BREATH, KNIGHT); - addKillId(GLAKIAS, FREYA_STAND, KNIGHT, GLACIER, BREATH); - addSpellFinishedId(GLACIER, BREATH); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - if (event.equals("enter")) - { - enterInstance(player, new IQCNBWorld(), "IceQueensCastleHardBattle.xml", TEMPLATE_ID); - } - else - { - final InstanceWorld tmpworld = InstanceManager.getInstance().getWorld(npc.getInstanceId()); - - if ((tmpworld != null) && (tmpworld instanceof IQCNBWorld)) - { - final IQCNBWorld world = (IQCNBWorld) tmpworld; - switch (event) - { - case "openDoor": - { - if (npc.isScriptValue(0)) - { - npc.setScriptValue(1); - openDoor(DOOR_ID, world.getInstanceId()); - world.controller = (L2NpcInstance) addSpawn(INVISIBLE_NPC, CONTROLLER_LOC, false, 0, true, world.getInstanceId()); - for (Location loc : STATUES_LOC) - { - if (loc.getZ() == -11168) - { - final L2Npc statue = addSpawn(INVISIBLE_NPC, loc, false, 0, false, world.getInstanceId()); - world.knightStatues.add(statue); - } - } - for (L2PcInstance players : world.playersInside) - { - if ((players != null) && !players.isDead() && (players.getInstanceId() == world.getInstanceId())) - { - final QuestState qs = player.getQuestState(Q10286_ReunionWithSirra.class.getSimpleName()); - if ((qs != null) && (qs.getState() == State.STARTED) && qs.isCond(5)) - { - qs.setCond(6, true); - } - } - } - startQuestTimer("STAGE_1_MOVIE", 60000, world.controller, null); - } - break; - } - case "portInside": - { - teleportPlayer(player, BATTLE_PORT, world.getInstanceId()); - break; - } - case "killFreya": - { - final QuestState qs = player.getQuestState(Q10286_ReunionWithSirra.class.getSimpleName()); - if ((qs != null) && (qs.getState() == State.STARTED) && qs.isCond(6)) - { - qs.setMemoState(10); - qs.setCond(7, true); - } - world.supp_Kegor.deleteMe(); - world.freya.decayMe(); - manageMovie(world, 20); - cancelQuestTimer("FINISH_WORLD", world.controller, null); - startQuestTimer("FINISH_WORLD", 58500, world.controller, null); - break; - } - case "18851-01.html": - { - return event; - } - case "STAGE_1_MOVIE": - { - closeDoor(DOOR_ID, world.getInstanceId()); - world.setStatus(1); - manageMovie(world, 15); - startQuestTimer("STAGE_1_START", 53500, world.controller, null); - break; - } - case "STAGE_1_START": - { - world.freya = (L2GrandBossInstance) addSpawn(FREYA_THRONE, FREYA_SPAWN, false, 0, true, world.getInstanceId()); - world.freya.setIsMortal(false); - manageScreenMsg(world, NpcStringId.BEGIN_STAGE_1); - startQuestTimer("CAST_BLIZZARD", 50000, world.controller, null); - startQuestTimer("STAGE_1_SPAWN", 2000, world.freya, null); - break; - } - case "STAGE_1_SPAWN": - { - notifyEvent("START_SPAWN", world.controller, null); - break; - } - case "STAGE_1_FINISH": - { - world.freya.deleteMe(); - world.freya = null; - manageDespawnMinions(world); - manageMovie(world, 16); - startQuestTimer("STAGE_1_PAUSE", 24100 - 1000, world.controller, null); - break; - } - case "STAGE_1_PAUSE": - { - world.freya = (L2GrandBossInstance) addSpawn(FREYA_SPELLING, FREYA_SPELLING_SPAWN, false, 0, true, world.getInstanceId()); - world.freya.setIsInvul(true); - world.freya.disableCoreAI(true); - manageTimer(world, 60); - world.setStatus(2); - startQuestTimer("STAGE_2_START", 60000, world.controller, null); - break; - } - case "STAGE_2_START": - { - world.canSpawnMobs = true; - notifyEvent("START_SPAWN", world.controller, null); - manageScreenMsg(world, NpcStringId.BEGIN_STAGE_2); - break; - } - case "STAGE_2_MOVIE": - { - manageMovie(world, 23); - startQuestTimer("STAGE_2_GLAKIAS", 7000, world.controller, null); - break; - } - case "STAGE_2_GLAKIAS": - { - for (Location loc : STATUES_LOC) - { - if (loc.getZ() == -10960) - { - final L2Npc statue = addSpawn(INVISIBLE_NPC, loc, false, 0, false, world.getInstanceId()); - world.knightStatues.add(statue); - startQuestTimer("SPAWN_KNIGHT", 5000, statue, null); - } - } - final L2RaidBossInstance glakias = (L2RaidBossInstance) addSpawn(GLAKIAS, GLAKIAS_SPAWN, false, 0, true, world.getInstanceId()); - startQuestTimer("LEADER_DELAY", 5000, glakias, null); - break; - } - case "STAGE_3_MOVIE": - { - manageMovie(world, 17); - startQuestTimer("STAGE_3_START", 21500, world.controller, null); - break; - } - case "STAGE_3_START": - { - for (L2PcInstance players : world.playersInside) - { - if (players != null) - { - players.broadcastPacket(ExChangeClientEffectInfo.STATIC_FREYA_DESTROYED); - } - } - world.setStatus(4); - world.freya.deleteMe(); - world.canSpawnMobs = true; - world.freya = (L2GrandBossInstance) addSpawn(FREYA_STAND, FREYA_SPAWN, false, 0, true, world.getInstanceId()); - world.controller.getVariables().set("FREYA_MOVE", 0); - notifyEvent("START_SPAWN", world.controller, null); - startQuestTimer("START_MOVE", 10000, world.controller, null); - startQuestTimer("CAST_BLIZZARD", 50000, world.controller, null); - manageScreenMsg(world, NpcStringId.BEGIN_STAGE_3); - break; - } - case "START_MOVE": - { - if (npc.getVariables().getInt("FREYA_MOVE") == 0) - { - world.controller.getVariables().set("FREYA_MOVE", 1); - world.freya.setIsRunning(true); - world.freya.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, MIDDLE_POINT); - } - break; - } - case "CAST_BLIZZARD": - { - if (!world.freya.isInvul()) - { - world.freya.doCast(BLIZZARD.getSkill()); - manageScreenMsg(world, NpcStringId.STRONG_MAGIC_POWER_CAN_BE_FELT_FROM_SOMEWHERE); - } - - for (L2Attackable minion : world.spawnedMobs) - { - if ((minion != null) && !minion.isDead() && !minion.isInCombat()) - { - manageRandomAttack(world, minion); - } - } - startQuestTimer("CAST_BLIZZARD", getRandom(55, 60) * 1000, world.controller, null); - break; - } - case "SPAWN_SUPPORT": - { - for (L2PcInstance players : world.playersInside) - { - if ((players != null) && (players.getInstanceId() == world.getInstanceId())) - { - players.setIsInvul(false); - } - } - world.freya.setIsInvul(false); - world.freya.disableCoreAI(false); - manageScreenMsg(world, NpcStringId.BEGIN_STAGE_4); - world.supp_Jinia = (L2QuestGuardInstance) addSpawn(SUPP_JINIA, SUPP_JINIA_SPAWN, false, 0, true, world.getInstanceId()); - world.supp_Jinia.setIsRunning(true); - world.supp_Jinia.setIsInvul(true); - world.supp_Jinia.setCanReturnToSpawnPoint(false); - world.supp_Kegor = (L2QuestGuardInstance) addSpawn(SUPP_KEGOR, SUPP_KEGOR_SPAWN, false, 0, true, world.getInstanceId()); - world.supp_Kegor.setIsRunning(true); - world.supp_Kegor.setIsInvul(true); - world.supp_Kegor.setCanReturnToSpawnPoint(false); - startQuestTimer("ATTACK_FREYA", 5000, world.supp_Jinia, null); - startQuestTimer("ATTACK_FREYA", 5000, world.supp_Kegor, null); - startQuestTimer("GIVE_SUPPORT", 1000, world.controller, null); - break; - } - case "GIVE_SUPPORT": - { - if (world.isSupportActive) - { - world.supp_Jinia.doCast(JINIA_SUPPORT.getSkill()); - world.supp_Kegor.doCast(KEGOR_SUPPORT.getSkill()); - startQuestTimer("GIVE_SUPPORT", 25000, world.controller, null); - } - break; - } - case "FINISH_STAGE": - { - world.supp_Jinia.deleteMe(); - world.supp_Jinia = null; - world.freya.teleToLocation(FREYA_CORPSE); - world.supp_Kegor.teleToLocation(KEGOR_FINISH); - break; - } - case "START_SPAWN": - { - for (L2Npc statues : world.knightStatues) - { - notifyEvent("SPAWN_KNIGHT", statues, null); - } - - for (Location loc : KNIGHTS_LOC) - { - final L2Attackable knight = (L2Attackable) addSpawn(KNIGHT, loc, false, 0, false, world.getInstanceId()); - knight.disableCoreAI(true); - knight.setState(1); - knight.getSpawn().setLocation(loc); - world.spawnedMobs.add(knight); - startQuestTimer("ICE_RUPTURE", getRandom(2, 5) * 1000, knight, null); - } - - for (int i = 0; i < world.getStatus(); i++) - { - notifyEvent("SPAWN_GLACIER", world.controller, null); - } - break; - } - case "SPAWN_KNIGHT": - { - if (world.canSpawnMobs) - { - final Location loc = new Location(MIDDLE_POINT.getX() + getRandom(-1000, 1000), MIDDLE_POINT.getY() + getRandom(-1000, 1000), MIDDLE_POINT.getZ()); - final L2Attackable knight = (L2Attackable) addSpawn(KNIGHT, npc.getLocation(), false, 0, false, world.getInstanceId()); - knight.getVariables().set("SPAWNED_NPC", npc); - knight.disableCoreAI(true); - knight.setIsImmobilized(true); - knight.setState(1); - knight.getSpawn().setLocation(loc); - world.spawnedMobs.add(knight); - startQuestTimer("ICE_RUPTURE", getRandom(5, 10) * 1000, knight, null); - } - break; - } - case "SPAWN_GLACIER": - { - if (world.canSpawnMobs) - { - final Location loc = new Location(MIDDLE_POINT.getX() + getRandom(-1000, 1000), MIDDLE_POINT.getY() + getRandom(-1000, 1000), MIDDLE_POINT.getZ()); - final L2Attackable glacier = (L2Attackable) addSpawn(GLACIER, loc, false, 0, false, world.getInstanceId()); - glacier.setState(1); - glacier.disableCoreAI(true); - glacier.setIsImmobilized(true); - world.spawnedMobs.add(glacier); - startQuestTimer("CHANGE_STATE", 1400, glacier, null); - } - break; - } - case "ICE_RUPTURE": - { - if (npc.isCoreAIDisabled()) - { - npc.disableCoreAI(false); - npc.setIsImmobilized(false); - npc.setState(2); - manageRandomAttack(world, (L2Attackable) npc); - } - break; - } - case "FIND_TARGET": - { - manageRandomAttack(world, (L2Attackable) npc); - break; - } - case "CHANGE_STATE": - { - npc.setState(2); - startQuestTimer("CAST_SKILL", 20000, npc, null); - break; - } - case "CAST_SKILL": - { - if (npc.isScriptValue(0) && !npc.isDead()) - { - npc.setTarget(npc); - npc.doCast(ICE_STONE.getSkill()); - npc.setScriptValue(1); - } - break; - } - case "SUICIDE": - { - npc.setState(3); - npc.setIsMortal(true); - npc.doDie(null); - break; - } - case "BLIZZARD": - { - npc.getVariables().set("SUICIDE_COUNT", npc.getVariables().getInt("SUICIDE_COUNT") + 1); - - if (npc.getVariables().getInt("SUICIDE_ON") == 0) - { - if (npc.getVariables().getInt("SUICIDE_COUNT") == 2) - { - startQuestTimer("ELEMENTAL_SUICIDE", 20000, npc, null); - } - else - { - if (npc.checkDoCastConditions(BLIZZARD_BREATH.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(npc); - npc.doCast(BLIZZARD_BREATH.getSkill()); - } - startQuestTimer("BLIZZARD", 20000, npc, null); - } - } - break; - } - case "ELEMENTAL_SUICIDE": - { - npc.setTarget(npc); - npc.doCast(SUICIDE_BREATH.getSkill()); - break; - } - case "ELEMENTAL_KILLED": - { - if (npc.getVariables().getInt("SUICIDE_ON") == 1) - { - npc.setTarget(npc); - npc.doCast(SUICIDE_BREATH.getSkill()); - } - break; - } - case "ATTACK_FREYA": - { - final SkillHolder skill = npc.getTemplate().getParameters().getObject("Skill01_ID", SkillHolder.class); - if (npc.isInsideRadius(world.freya, 100, true, false)) - { - if (npc.checkDoCastConditions(skill.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(world.freya); - npc.doCast(skill.getSkill()); - startQuestTimer("ATTACK_FREYA", 20000, npc, null); - } - else - { - startQuestTimer("ATTACK_FREYA", 5000, npc, null); - } - } - else - { - npc.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, world.freya); - startQuestTimer("ATTACK_FREYA", 5000, npc, null); - } - break; - } - case "FINISH_WORLD": - { - if (world.freya != null) - { - world.freya.decayMe(); - } - - for (L2PcInstance players : world.playersInside) - { - if ((players != null)) - { - players.broadcastPacket(ExChangeClientEffectInfo.STATIC_FREYA_DEFAULT); - } - } - InstanceManager.getInstance().destroyInstance(world.getInstanceId()); - break; - } - case "LEADER_RANGEBUFF": - { - if (npc.checkDoCastConditions(SelfRangeBuff.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(npc); - npc.doCast(SelfRangeBuff.getSkill()); - } - else - { - startQuestTimer("LEADER_RANGEBUFF", 30000, npc, null); - } - break; - } - case "LEADER_RANDOMIZE": - { - final L2Attackable mob = (L2Attackable) npc; - mob.clearAggroList(); - - for (L2Character characters : npc.getKnownList().getKnownPlayersInRadius(1000)) - { - if ((characters != null)) - { - mob.addDamageHate(characters, 0, getRandom(10000, 20000)); - } - } - startQuestTimer("LEADER_RANDOMIZE", 25000, npc, null); - break; - } - case "LEADER_DASH": - { - final L2Character mostHated = ((L2Attackable) npc).getMostHated(); - if (getRandomBoolean() && !npc.isCastingNow() && (mostHated != null) && !mostHated.isDead() && (npc.calculateDistance(mostHated, true, false) < 1000)) - { - npc.setTarget(mostHated); - npc.doCast(LEADER_RUSH.getSkill()); - } - startQuestTimer("LEADER_DASH", 10000, npc, null); - break; - } - case "LEADER_DESTROY": - { - final L2Attackable mob = (L2Attackable) npc; - if (npc.getVariables().getInt("OFF_SHOUT") == 0) - { - manageScreenMsg(world, NpcStringId.THE_SPACE_FEELS_LIKE_ITS_GRADUALLY_STARTING_TO_SHAKE); - - switch (getRandom(4)) - { - case 0: - { - broadcastNpcSay(npc, Say2.SHOUT, NpcStringId.ARCHER_GIVE_YOUR_BREATH_FOR_THE_INTRUDER); - break; - } - case 1: - { - broadcastNpcSay(npc, Say2.SHOUT, NpcStringId.MY_KNIGHTS_SHOW_YOUR_LOYALTY); - break; - } - case 2: - { - broadcastNpcSay(npc, Say2.SHOUT, NpcStringId.I_CAN_TAKE_IT_NO_LONGER); - break; - } - case 3: - { - broadcastNpcSay(npc, Say2.SHOUT, NpcStringId.ARCHER_HEED_MY_CALL); - for (int i = 0; i < 3; i++) - { - final L2Attackable breath = (L2Attackable) addSpawn(BREATH, npc.getLocation(), true, 0, false, world.getInstanceId()); - breath.setIsRunning(true); - breath.addDamageHate(mob.getMostHated(), 0, 999); - breath.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, mob.getMostHated()); - startQuestTimer("BLIZZARD", 20000, breath, null); - world.spawnedMobs.add(breath); - } - break; - } - } - } - break; - } - case "LEADER_DELAY": - { - if (npc.getVariables().getInt("DELAY_VAL") == 0) - { - npc.getVariables().set("DELAY_VAL", 1); - } - break; - } - } - } - } - return super.onAdvEvent(event, npc, player); - } - - @Override - public String onFirstTalk(L2Npc npc, L2PcInstance player) - { - final InstanceWorld tmpworld = InstanceManager.getInstance().getWorld(npc.getInstanceId()); - - if (tmpworld instanceof IQCNBWorld) - { - final IQCNBWorld world = (IQCNBWorld) tmpworld; - - if (npc.getId() == SUPP_JINIA) - { - player.sendPacket(ActionFailed.STATIC_PACKET); - return null; - } - else if (npc.getId() == SUPP_KEGOR) - { - if (world.isSupportActive) - { - player.sendPacket(ActionFailed.STATIC_PACKET); - return null; - } - return "18851.html"; - } - } - player.sendPacket(ActionFailed.STATIC_PACKET); - return null; - } - - @Override - public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon, Skill skill) - { - final InstanceWorld tmpworld = InstanceManager.getInstance().getWorld(npc.getInstanceId()); - - if (tmpworld instanceof IQCNBWorld) - { - final IQCNBWorld world = (IQCNBWorld) tmpworld; - switch (npc.getId()) - { - case FREYA_THRONE: - { - if ((world.controller.getVariables().getInt("FREYA_MOVE") == 0) && world.isStatus(1)) - { - world.controller.getVariables().set("FREYA_MOVE", 1); - manageScreenMsg(world, NpcStringId.FREYA_HAS_STARTED_TO_MOVE); - world.freya.setIsRunning(true); - world.freya.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, MIDDLE_POINT); - } - - if (npc.getCurrentHp() < (npc.getMaxHp() * 0.02)) - { - notifyEvent("STAGE_1_FINISH", world.controller, null); - cancelQuestTimer("CAST_BLIZZARD", world.controller, null); - } - else - { - if ((attacker.getMountType() == MountType.STRIDER) && !attacker.isAffectedBySkill(ANTI_STRIDER.getSkillId()) && !npc.isCastingNow()) - { - if (!npc.isSkillDisabled(ANTI_STRIDER.getSkill())) - { - npc.setTarget(attacker); - npc.doCast(ANTI_STRIDER.getSkill()); - } - } - - final L2Character mostHated = ((L2Attackable) npc).getMostHated(); - final boolean canReachMostHated = (mostHated != null) && !mostHated.isDead() && (npc.calculateDistance(mostHated, true, false) <= 800); - - if (getRandom(10000) < 3333) - { - if (getRandomBoolean()) - { - if ((npc.calculateDistance(attacker, true, false) <= 800) && npc.checkDoCastConditions(ICE_BALL.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(attacker); - npc.doCast(ICE_BALL.getSkill()); - } - } - else - { - if (canReachMostHated && npc.checkDoCastConditions(ICE_BALL.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(mostHated); - npc.doCast(ICE_BALL.getSkill()); - } - } - } - else if (getRandom(10000) < 800) - { - if (getRandomBoolean()) - { - if ((npc.calculateDistance(attacker, true, false) <= 800) && npc.checkDoCastConditions(SUMMON_ELEMENTAL.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(attacker); - npc.doCast(SUMMON_ELEMENTAL.getSkill()); - } - } - else - { - if (canReachMostHated && npc.checkDoCastConditions(SUMMON_ELEMENTAL.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(mostHated); - npc.doCast(SUMMON_ELEMENTAL.getSkill()); - } - } - } - else if (getRandom(10000) < 1500) - { - if (!npc.isAffectedBySkill(SELF_NOVA.getSkillId()) && npc.checkDoCastConditions(SELF_NOVA.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(npc); - npc.doCast(SELF_NOVA.getSkill()); - } - } - } - break; - } - case FREYA_STAND: - { - if (world.controller.getVariables().getInt("FREYA_MOVE") == 0) - { - world.controller.getVariables().set("FREYA_MOVE", 1); - world.freya.setIsRunning(true); - world.freya.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, MIDDLE_POINT); - } - - if ((npc.getCurrentHp() < (npc.getMaxHp() * 0.2)) && !world.isSupportActive) - { - world.isSupportActive = true; - world.freya.setIsInvul(true); - world.freya.disableCoreAI(true); - for (L2PcInstance players : world.playersInside) - { - players.setIsInvul(true); - players.abortAttack(); - } - manageMovie(world, 18); - startQuestTimer("SPAWN_SUPPORT", 27000, world.controller, null); - } - - if ((attacker.getMountType() == MountType.STRIDER) && !attacker.isAffectedBySkill(ANTI_STRIDER.getSkillId()) && !npc.isCastingNow()) - { - if (!npc.isSkillDisabled(ANTI_STRIDER.getSkill())) - { - npc.setTarget(attacker); - npc.doCast(ANTI_STRIDER.getSkill()); - } - } - - final L2Character mostHated = ((L2Attackable) npc).getMostHated(); - final boolean canReachMostHated = (mostHated != null) && !mostHated.isDead() && (npc.calculateDistance(mostHated, true, false) <= 800); - - if (getRandom(10000) < 3333) - { - if (getRandomBoolean()) - { - if ((npc.calculateDistance(attacker, true, false) <= 800) && npc.checkDoCastConditions(ICE_BALL.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(attacker); - npc.doCast(ICE_BALL.getSkill()); - } - } - else - { - if (canReachMostHated && npc.checkDoCastConditions(ICE_BALL.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(mostHated); - npc.doCast(ICE_BALL.getSkill()); - } - } - } - else if (getRandom(10000) < 1333) - { - if (getRandomBoolean()) - { - if ((npc.calculateDistance(attacker, true, false) <= 800) && npc.checkDoCastConditions(SUMMON_ELEMENTAL.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(attacker); - npc.doCast(SUMMON_ELEMENTAL.getSkill()); - } - } - else - { - if (canReachMostHated && npc.checkDoCastConditions(SUMMON_ELEMENTAL.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(mostHated); - npc.doCast(SUMMON_ELEMENTAL.getSkill()); - } - } - } - else if (getRandom(10000) < 1500) - { - if (!npc.isAffectedBySkill(SELF_NOVA.getSkillId()) && npc.checkDoCastConditions(SELF_NOVA.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(npc); - npc.doCast(SELF_NOVA.getSkill()); - } - } - else if (getRandom(10000) < 1333) - { - if (!npc.isAffectedBySkill(REFLECT_MAGIC.getSkillId()) && npc.checkDoCastConditions(REFLECT_MAGIC.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(npc); - npc.doCast(REFLECT_MAGIC.getSkill()); - } - } - break; - } - case GLACIER: - { - if (npc.isScriptValue(0) && (npc.getCurrentHp() < (npc.getMaxHp() * 0.5))) - { - npc.setTarget(attacker); - npc.doCast(ICE_STONE.getSkill()); - npc.setScriptValue(1); - } - break; - } - case BREATH: - { - if ((npc.getCurrentHp() < (npc.getMaxHp() / 20)) && (npc.getVariables().getInt("SUICIDE_ON", 0) == 0)) - { - npc.getVariables().set("SUICIDE_ON", 1); - startQuestTimer("ELEMENTAL_KILLED", 1000, npc, null); - } - break; - } - case KNIGHT: - { - if (npc.isCoreAIDisabled()) - { - manageRandomAttack(world, (L2Attackable) npc); - npc.disableCoreAI(false); - npc.setIsImmobilized(false); - npc.setState(2); - cancelQuestTimer("ICE_RUPTURE", npc, null); - } - break; - } - case GLAKIAS: - { - if (npc.getCurrentHp() < (npc.getMaxHp() * 0.02)) - { - if (npc.getVariables().getInt("OFF_SHOUT") == 0) - { - npc.getVariables().set("OFF_SHOUT", 1); - npc.getVariables().set("DELAY_VAL", 2); - npc.setTarget(attacker); - npc.doCast(CANCEL.getSkill()); - } - else if (npc.getVariables().getInt("OFF_SHOUT") == 1) - { - npc.setTarget(attacker); - npc.doCast(CANCEL.getSkill()); - } - } - else if ((npc.getVariables().getInt("OFF_SHOUT") == 0) && (npc.getVariables().getInt("DELAY_VAL") == 1)) - { - final L2Character mostHated = ((L2Attackable) npc).getMostHated(); - final boolean canReachMostHated = (mostHated != null) && !mostHated.isDead() && (npc.calculateDistance(mostHated, true, false) < 1000); - - if (npc.getVariables().getInt("TIMER_ON") == 0) - { - npc.getVariables().set("TIMER_ON", 1); - startQuestTimer("LEADER_RANGEBUFF", getRandom(5, 30) * 1000, npc, null); - startQuestTimer("LEADER_RANDOMIZE", 25000, npc, null); - startQuestTimer("LEADER_DASH", 5000, npc, null); - startQuestTimer("LEADER_DESTROY", 60000, npc, null); - } - - if (getRandom(10000) < 2500) - { - if (getRandom(10000) < 2500) - { - if (npc.checkDoCastConditions(POWER_STRIKE.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(attacker); - npc.doCast(POWER_STRIKE.getSkill()); - } - } - else if (npc.checkDoCastConditions(POWER_STRIKE.getSkill()) && !npc.isCastingNow() && canReachMostHated) - { - npc.setTarget(((L2Attackable) npc).getMostHated()); - npc.doCast(POWER_STRIKE.getSkill()); - } - } - else if (getRandom(10000) < 1500) - { - if (getRandomBoolean()) - { - if (npc.checkDoCastConditions(POINT_TARGET.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(attacker); - npc.doCast(POINT_TARGET.getSkill()); - } - } - else if (npc.checkDoCastConditions(POINT_TARGET.getSkill()) && !npc.isCastingNow() && canReachMostHated) - { - npc.setTarget(((L2Attackable) npc).getMostHated()); - npc.doCast(POINT_TARGET.getSkill()); - } - } - else if (getRandom(10000) < 1500) - { - if (getRandomBoolean()) - { - if (npc.checkDoCastConditions(CYLINDER_THROW.getSkill()) && !npc.isCastingNow()) - { - npc.setTarget(attacker); - npc.doCast(CYLINDER_THROW.getSkill()); - } - } - else if (npc.checkDoCastConditions(CYLINDER_THROW.getSkill()) && !npc.isCastingNow() && canReachMostHated) - { - npc.setTarget(((L2Attackable) npc).getMostHated()); - npc.doCast(CYLINDER_THROW.getSkill()); - } - } - } - break; - } - } - } - return super.onAttack(npc, attacker, damage, isSummon, skill); - } - - @Override - public String onSpellFinished(L2Npc npc, L2PcInstance player, Skill skill) - { - final InstanceWorld tmpworld = InstanceManager.getInstance().getWorld(npc.getInstanceId()); - - if (tmpworld instanceof IQCNBWorld) - { - final IQCNBWorld world = (IQCNBWorld) tmpworld; - - switch (npc.getId()) - { - case GLACIER: - { - if (skill == ICE_STONE.getSkill()) - { - if (getRandom(100) < 75) - { - final L2Attackable breath = (L2Attackable) addSpawn(BREATH, npc.getLocation(), false, 0, false, world.getInstanceId()); - if (player != null) - { - breath.setIsRunning(true); - breath.addDamageHate(player, 0, 999); - breath.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); - } - else - { - manageRandomAttack(world, breath); - } - world.spawnedMobs.add(breath); - startQuestTimer("BLIZZARD", 20000, breath, null); - } - notifyEvent("SUICIDE", npc, null); - } - break; - } - case BREATH: - { - if (skill == SUICIDE_BREATH.getSkill()) - { - npc.doDie(null); - } - break; - } - } - } - return super.onSpellFinished(npc, player, skill); - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final InstanceWorld tmpworld = InstanceManager.getInstance().getWorld(npc.getInstanceId()); - - if (tmpworld instanceof IQCNBWorld) - { - final IQCNBWorld world = (IQCNBWorld) tmpworld; - switch (npc.getId()) - { - case GLAKIAS: - { - manageDespawnMinions(world); - manageTimer(world, 60); - startQuestTimer("STAGE_3_MOVIE", 60000, world.controller, null); - break; - } - case FREYA_STAND: - { - world.isSupportActive = false; - manageMovie(world, 19); - manageDespawnMinions(world); - finishInstance(world); - DecayTaskManager.getInstance().cancel(world.freya); - cancelQuestTimer("ATTACK_FREYA", world.supp_Jinia, null); - cancelQuestTimer("ATTACK_FREYA", world.supp_Kegor, null); - cancelQuestTimer("GIVE_SUPPORT", world.controller, null); - cancelQuestTimer("CAST_BLIZZARD", world.controller, null); - startQuestTimer("FINISH_STAGE", 16000, world.controller, null); - startQuestTimer("FINISH_WORLD", 300000, world.controller, null); - break; - } - case KNIGHT: - { - final L2Npc spawnedBy = npc.getVariables().getObject("SPAWNED_NPC", L2Npc.class); - final NpcVariables var = world.controller.getVariables(); - int knightCount = var.getInt("KNIGHT_COUNT"); - - if ((var.getInt("FREYA_MOVE") == 0) && world.isStatus(1)) - { - var.set("FREYA_MOVE", 1); - manageScreenMsg(world, NpcStringId.FREYA_HAS_STARTED_TO_MOVE); - world.freya.setIsRunning(true); - world.freya.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, MIDDLE_POINT); - } - - if ((knightCount < 10) && (world.isStatus(2))) - { - knightCount++; - var.set("KNIGHT_COUNT", knightCount); - - if (knightCount == 10) - { - notifyEvent("STAGE_2_MOVIE", world.controller, null); - world.setStatus(3); - } - } - - if (spawnedBy != null) - { - startQuestTimer("SPAWN_KNIGHT", getRandom(30, 60) * 1000, spawnedBy, null); - } - world.spawnedMobs.remove(npc); - break; - } - case GLACIER: - { - startQuestTimer("SPAWN_GLACIER", getRandom(30, 60) * 1000, world.controller, null); - world.spawnedMobs.remove(npc); - break; - } - case BREATH: - { - world.spawnedMobs.remove(npc); - break; - } - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public void onEnterInstance(L2PcInstance player, InstanceWorld world, boolean firstEntrance) - { - if (firstEntrance) - { - if (!player.isInParty()) - { - managePlayerEnter(player, (IQCNBWorld) world); - } - else if (player.getParty().isInCommandChannel()) - { - for (L2PcInstance players : player.getParty().getCommandChannel().getMembers()) - { - managePlayerEnter(players, (IQCNBWorld) world); - } - } - else - { - for (L2PcInstance players : player.getParty().getMembers()) - { - managePlayerEnter(players, (IQCNBWorld) world); - } - } - } - else - { - teleportPlayer(player, world.isStatus(4) ? BATTLE_PORT : ENTER_LOC[getRandom(ENTER_LOC.length)], world.getInstanceId()); - } - } - - private void managePlayerEnter(L2PcInstance player, IQCNBWorld world) - { - world.playersInside.add(player); - world.addAllowed(player.getObjectId()); - teleportPlayer(player, ENTER_LOC[getRandom(ENTER_LOC.length)], world.getInstanceId(), false); - } - - @Override - protected boolean checkConditions(L2PcInstance player) - { - final L2Party party = player.getParty(); - final L2CommandChannel channel = party != null ? party.getCommandChannel() : null; - - if (player.isGM() && player.canOverrideCond(PcCondOverride.INSTANCE_CONDITIONS)) - { - return true; - } - - if (party == null) - { - player.sendPacket(SystemMessageId.YOU_ARE_NOT_CURRENTLY_IN_A_PARTY_SO_YOU_CANNOT_ENTER); - return false; - } - else if (channel == null) - { - player.sendPacket(SystemMessageId.YOU_CANNOT_ENTER_BECAUSE_YOU_ARE_NOT_ASSOCIATED_WITH_THE_CURRENT_COMMAND_CHANNEL); - return false; - } - else if (player != channel.getLeader()) - { - player.sendPacket(SystemMessageId.ONLY_A_PARTY_LEADER_CAN_MAKE_THE_REQUEST_TO_ENTER); - return false; - } - else if ((channel.getMemberCount() < MIN_PLAYERS) || (channel.getMemberCount() > MAX_PLAYERS)) - { - player.sendPacket(SystemMessageId.YOU_CANNOT_ENTER_DUE_TO_THE_PARTY_HAVING_EXCEEDED_THE_LIMIT); - return false; - } - for (L2PcInstance channelMember : channel.getMembers()) - { - if (channelMember.getLevel() < MIN_LEVEL) - { - SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_S_LEVEL_DOES_NOT_CORRESPOND_TO_THE_REQUIREMENTS_FOR_ENTRY); - sm.addPcName(channelMember); - party.broadcastPacket(sm); - return false; - } - else if (!Util.checkIfInRange(1000, player, channelMember, true)) - { - SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_IS_IN_A_LOCATION_WHICH_CANNOT_BE_ENTERED_THEREFORE_IT_CANNOT_BE_PROCESSED); - sm.addPcName(channelMember); - party.broadcastPacket(sm); - return false; - } - else if (System.currentTimeMillis() < InstanceManager.getInstance().getInstanceTime(channelMember.getObjectId(), TEMPLATE_ID)) - { - SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET); - sm.addPcName(channelMember); - party.broadcastPacket(sm); - return false; - } - } - return true; - } - - private void manageRandomAttack(IQCNBWorld world, L2Attackable mob) - { - final List players = new ArrayList<>(); - for (L2PcInstance player : world.playersInside) - { - if ((player != null) && !player.isDead() && (player.getInstanceId() == world.getInstanceId()) && !player.isInvisible()) - { - players.add(player); - } - } - - Collections.shuffle(players); - final L2PcInstance target = (!players.isEmpty()) ? players.get(0) : null; - if (target != null) - { - mob.addDamageHate(target, 0, 999); - mob.setIsRunning(true); - mob.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, target); - } - else - { - startQuestTimer("FIND_TARGET", 10000, mob, null); - } - } - - private void manageDespawnMinions(IQCNBWorld world) - { - world.canSpawnMobs = false; - for (L2Attackable mobs : world.spawnedMobs) - { - if ((mobs != null) && !mobs.isDead()) - { - mobs.doDie(null); - } - } - } - - private void manageTimer(IQCNBWorld world, int time) - { - for (L2PcInstance players : world.playersInside) - { - if ((players != null) && (players.getInstanceId() == world.getInstanceId())) - { - players.sendPacket(new ExSendUIEvent(players, false, false, time, 0, "Time remaining until next battle")); - } - } - } - - private void manageScreenMsg(IQCNBWorld world, NpcStringId stringId) - { - for (L2PcInstance players : world.playersInside) - { - if ((players != null) && (players.getInstanceId() == world.getInstanceId())) - { - showOnScreenMsg(players, stringId, 2, 6000); - } - } - } - - private void manageMovie(IQCNBWorld world, int movie) - { - for (L2PcInstance players : world.playersInside) - { - if ((players != null) && (players.getInstanceId() == world.getInstanceId())) - { - players.showQuestMovie(movie); - } - } - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/IceQueensCastleNormalBattle/18851-01.html b/trunk/dist/game/data/scripts/instances/IceQueensCastleNormalBattle/18851-01.html deleted file mode 100644 index 8ca0096f88..0000000000 --- a/trunk/dist/game/data/scripts/instances/IceQueensCastleNormalBattle/18851-01.html +++ /dev/null @@ -1,3 +0,0 @@ -Kegor:
-I'd entrust your associate with this mission, but.. - diff --git a/trunk/dist/game/data/scripts/instances/IceQueensCastleNormalBattle/18851.html b/trunk/dist/game/data/scripts/instances/IceQueensCastleNormalBattle/18851.html deleted file mode 100644 index b4be1ea0f2..0000000000 --- a/trunk/dist/game/data/scripts/instances/IceQueensCastleNormalBattle/18851.html +++ /dev/null @@ -1,6 +0,0 @@ -Kegor:
-Without you, we would have failed. I can't thank you enough.
-Freya's last breath will flutter against your blade, I can feel it!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/instances/InstanceLoader.java b/trunk/dist/game/data/scripts/instances/InstanceLoader.java index e0d0c31c7e..02d3dc8ad6 100644 --- a/trunk/dist/game/data/scripts/instances/InstanceLoader.java +++ b/trunk/dist/game/data/scripts/instances/InstanceLoader.java @@ -35,8 +35,7 @@ import instances.FinalEmperialTomb.FinalEmperialTomb; import instances.HarnakUndergroundRuins.HarnakUndergroundRuins; import instances.HideoutOfTheDawn.HideoutOfTheDawn; import instances.IceQueensCastle.IceQueensCastle; -import instances.IceQueensCastleHardBattle.IceQueensCastleHardBattle; -import instances.IceQueensCastleNormalBattle.IceQueensCastleNormalBattle; +import instances.IceQueensCastleBattle.IceQueensCastleBattle; import instances.JiniaGuildHideout1.JiniaGuildHideout1; import instances.JiniaGuildHideout2.JiniaGuildHideout2; import instances.JiniaGuildHideout3.JiniaGuildHideout3; @@ -81,8 +80,7 @@ public final class InstanceLoader ChamberOfDelusionTower.class, ChamberOfDelusionWest.class, IceQueensCastle.class, - IceQueensCastleHardBattle.class, - IceQueensCastleNormalBattle.class, + IceQueensCastleBattle.class, JiniaGuildHideout1.class, JiniaGuildHideout2.class, JiniaGuildHideout3.class, diff --git a/trunk/dist/game/data/scripts/instances/LibraryOfSages/LibraryOfSages.java b/trunk/dist/game/data/scripts/instances/LibraryOfSages/LibraryOfSages.java index 0dd721791e..96b16e3663 100644 --- a/trunk/dist/game/data/scripts/instances/LibraryOfSages/LibraryOfSages.java +++ b/trunk/dist/game/data/scripts/instances/LibraryOfSages/LibraryOfSages.java @@ -20,13 +20,13 @@ package instances.LibraryOfSages; import instances.AbstractInstance; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.instancezone.InstanceWorld; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Library of Sages instance zone. @@ -98,7 +98,7 @@ public final class LibraryOfSages extends AbstractInstance { npc.setIsRunning(true); npc.getAI().startFollow(player); - broadcastNpcSay(npc, Say2.NPC_ALL, ELCADIA_DIALOGS[getRandom(ELCADIA_DIALOGS.length)]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, ELCADIA_DIALOGS[getRandom(ELCADIA_DIALOGS.length)]); startQuestTimer("FOLLOW", 10000, npc, player); break; } diff --git a/trunk/dist/game/data/scripts/instances/MithrilMine/MithrilMine.java b/trunk/dist/game/data/scripts/instances/MithrilMine/MithrilMine.java index db57f419fe..802c064e3d 100644 --- a/trunk/dist/game/data/scripts/instances/MithrilMine/MithrilMine.java +++ b/trunk/dist/game/data/scripts/instances/MithrilMine/MithrilMine.java @@ -22,6 +22,7 @@ import instances.AbstractInstance; import quests.Q10284_AcquisitionOfDivineSword.Q10284_AcquisitionOfDivineSword; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Attackable; @@ -32,7 +33,6 @@ import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.instancezone.InstanceWorld; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Mithril Mine instance zone. @@ -120,7 +120,7 @@ public final class MithrilMine extends AbstractInstance kegor.setWalking(); kegor.setTarget(player); kegor.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, player); - broadcastNpcSay(kegor, Say2.NPC_ALL, NpcStringId.I_CAN_FINALLY_TAKE_A_BREATHER_BY_THE_WAY_WHO_ARE_YOU_HMM_I_THINK_I_KNOW_WHO_SENT_YOU); + broadcastNpcSay(kegor, ChatType.NPC_GENERAL, NpcStringId.I_CAN_FINALLY_TAKE_A_BREATHER_BY_THE_WAY_WHO_ARE_YOU_HMM_I_THINK_I_KNOW_WHO_SENT_YOU); } } InstanceManager.getInstance().getInstance(world.getInstanceId()).setDuration(3000); @@ -163,7 +163,7 @@ public final class MithrilMine extends AbstractInstance if (npc.getId() == KEGOR) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.HOW_COULD_I_FALL_IN_A_PLACE_LIKE_THIS); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.HOW_COULD_I_FALL_IN_A_PLACE_LIKE_THIS); InstanceManager.getInstance().getInstance(world.getInstanceId()).setDuration(1000); } else diff --git a/trunk/dist/game/data/scripts/instances/MonasteryOfSilence1/MonasteryOfSilence1.java b/trunk/dist/game/data/scripts/instances/MonasteryOfSilence1/MonasteryOfSilence1.java index 2e4a5e028a..612ecca5c3 100644 --- a/trunk/dist/game/data/scripts/instances/MonasteryOfSilence1/MonasteryOfSilence1.java +++ b/trunk/dist/game/data/scripts/instances/MonasteryOfSilence1/MonasteryOfSilence1.java @@ -20,6 +20,7 @@ package instances.MonasteryOfSilence1; import instances.AbstractInstance; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -27,7 +28,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.holders.SkillHolder; import com.l2jserver.gameserver.model.instancezone.InstanceWorld; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Monastery of Silence instance zone. @@ -171,13 +171,13 @@ public final class MonasteryOfSilence1 extends AbstractInstance npc.getAI().startFollow(player); if (player.isInCombat()) { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.YOUR_WORK_HERE_IS_DONE_SO_RETURN_TO_THE_CENTRAL_GUARDIAN); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.YOUR_WORK_HERE_IS_DONE_SO_RETURN_TO_THE_CENTRAL_GUARDIAN); npc.setTarget(player); npc.doCast(BUFFS[getRandom(BUFFS.length)].getSkill()); } else { - broadcastNpcSay(npc, Say2.NPC_ALL, ELCADIA_DIALOGS[getRandom(ELCADIA_DIALOGS.length)]); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, ELCADIA_DIALOGS[getRandom(ELCADIA_DIALOGS.length)]); } startQuestTimer("FOLLOW", 10000, npc, player); break; diff --git a/trunk/dist/game/data/scripts/instances/MonasteryOfSilence2/MonasteryOfSilence2.java b/trunk/dist/game/data/scripts/instances/MonasteryOfSilence2/MonasteryOfSilence2.java index 1532442f72..4780e7bf6d 100644 --- a/trunk/dist/game/data/scripts/instances/MonasteryOfSilence2/MonasteryOfSilence2.java +++ b/trunk/dist/game/data/scripts/instances/MonasteryOfSilence2/MonasteryOfSilence2.java @@ -29,6 +29,7 @@ import ai.npc.AbstractNpcAI; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.datatables.SkillData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -313,18 +314,18 @@ public class MonasteryOfSilence2 extends AbstractNpcAI { if (getRandom(10) < 1) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getId(), NpcStringId.IT_SEEMS_THAT_YOU_CANNOT_REMEMBER_TO_THE_ROOM_OF_THE_WATCHER_WHO_FOUND_THE_BOOK)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.IT_SEEMS_THAT_YOU_CANNOT_REMEMBER_TO_THE_ROOM_OF_THE_WATCHER_WHO_FOUND_THE_BOOK)); } else { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getId(), NpcStringId.REMEMBER_THE_CONTENT_OF_THE_BOOKS_THAT_YOU_FOUND_YOU_CAN_T_TAKE_THEM_OUT_WITH_YOU)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.REMEMBER_THE_CONTENT_OF_THE_BOOKS_THAT_YOU_FOUND_YOU_CAN_T_TAKE_THEM_OUT_WITH_YOU)); } } if ((qs != null) && (qs.getCond() == 3)) { if (getRandom(8) < 1) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getId(), NpcStringId.YOUR_WORK_HERE_IS_DONE_SO_RETURN_TO_THE_CENTRAL_GUARDIAN)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.YOUR_WORK_HERE_IS_DONE_SO_RETURN_TO_THE_CENTRAL_GUARDIAN)); } } if ((qs1 != null) && (qs1.getCond() == 1)) @@ -333,15 +334,15 @@ public class MonasteryOfSilence2 extends AbstractNpcAI { if (getRandom(10) < 1) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getId(), NpcStringId.TO_REMOVE_THE_BARRIER_YOU_MUST_FIND_THE_RELICS_THAT_FIT_THE_BARRIER_AND_ACTIVATE_THE_DEVICE)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.TO_REMOVE_THE_BARRIER_YOU_MUST_FIND_THE_RELICS_THAT_FIT_THE_BARRIER_AND_ACTIVATE_THE_DEVICE)); } else if (getRandom(15) < 1) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getId(), NpcStringId.THE_GUARDIAN_OF_THE_SEAL_DOESN_T_SEEM_TO_GET_INJURED_AT_ALL_UNTIL_THE_BARRIER_IS_DESTROYED)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.THE_GUARDIAN_OF_THE_SEAL_DOESN_T_SEEM_TO_GET_INJURED_AT_ALL_UNTIL_THE_BARRIER_IS_DESTROYED)); } else { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), 0, npc.getId(), NpcStringId.THE_DEVICE_LOCATED_IN_THE_ROOM_IN_FRONT_OF_THE_GUARDIAN_OF_THE_SEAL_IS_DEFINITELY_THE_BARRIER_THAT_CONTROLS_THE_GUARDIAN_S_POWER)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.THE_DEVICE_LOCATED_IN_THE_ROOM_IN_FRONT_OF_THE_GUARDIAN_OF_THE_SEAL_IS_DEFINITELY_THE_BARRIER_THAT_CONTROLS_THE_GUARDIAN_S_POWER)); } } } diff --git a/trunk/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java b/trunk/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java index 37c64ca358..8f2f0ecb42 100644 --- a/trunk/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java +++ b/trunk/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java @@ -20,6 +20,7 @@ package instances.PailakaSongOfIceAndFire; import instances.AbstractInstance; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Character; @@ -28,7 +29,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.instancezone.InstanceWorld; import com.l2jserver.gameserver.model.zone.L2ZoneType; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; /** * Pailaka Song of Ice and Fire Instance zone. @@ -92,7 +92,7 @@ public final class PailakaSongOfIceAndFire extends AbstractInstance } case "GARGOS_LAUGH": { - broadcastNpcSay(npc, Say2.NPC_SHOUT, NpcStringId.OHH_OH_OH); + broadcastNpcSay(npc, ChatType.NPC_SHOUT, NpcStringId.OHH_OH_OH); break; } case "TELEPORT": diff --git a/trunk/dist/game/data/scripts/instances/SanctumOftheLordsOfDawn/SanctumOftheLordsOfDawn.java b/trunk/dist/game/data/scripts/instances/SanctumOftheLordsOfDawn/SanctumOftheLordsOfDawn.java index 085709ae65..f1da6d7e3c 100644 --- a/trunk/dist/game/data/scripts/instances/SanctumOftheLordsOfDawn/SanctumOftheLordsOfDawn.java +++ b/trunk/dist/game/data/scripts/instances/SanctumOftheLordsOfDawn/SanctumOftheLordsOfDawn.java @@ -27,6 +27,7 @@ import java.util.Map.Entry; import quests.Q00195_SevenSignsSecretRitualOfThePriests.Q00195_SevenSignsSecretRitualOfThePriests; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.Location; @@ -37,7 +38,6 @@ import com.l2jserver.gameserver.model.instancezone.InstanceWorld; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse; /** @@ -116,17 +116,17 @@ public final class SanctumOftheLordsOfDawn extends AbstractInstance { case GUARDS_OF_THE_DAWN: { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.INTRUDER_PROTECT_THE_PRIESTS_OF_DAWN); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.INTRUDER_PROTECT_THE_PRIESTS_OF_DAWN); break; } case GUARDS_OF_THE_DAWN_2: { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.HOW_DARE_YOU_INTRUDE_WITH_THAT_TRANSFORMATION_GET_LOST); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.HOW_DARE_YOU_INTRUDE_WITH_THAT_TRANSFORMATION_GET_LOST); break; } case GUARDS_OF_THE_DAWN_3: { - broadcastNpcSay(npc, Say2.NPC_ALL, NpcStringId.WHO_ARE_YOU_A_NEW_FACE_LIKE_YOU_CAN_T_APPROACH_THIS_PLACE); + broadcastNpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.WHO_ARE_YOU_A_NEW_FACE_LIKE_YOU_CAN_T_APPROACH_THIS_PLACE); break; } } diff --git a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31256-01.html b/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31256-01.html deleted file mode 100644 index 8f511283c0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31256-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Leon:
-All right. Guard Cadmon sent you here, didn't he? I'm glad you made it here. A number of young men have tried to come here, but they all ran away even before they reached the Orc barracks. I've sustained a great loss.
-As you know, the Ketra Orcs are the most daring and ferocious tribe. They never lag behind in terms of body structure or strength. So those who are weak run away at the sight of those orcs, causing me a great deal of trouble. But since Cadmon sent you here and you seem to possess great skills, I guess I don't have to worry about that. The task is simple. Take this box of supplies to the Ketra Orc outpost and deliver them to Messenger Wahkan. It won't be difficult to find Wahkan since he's staying in the base center. Although it may be a little difficult to enter the base...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31256-02.html b/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31256-02.html deleted file mode 100644 index 5aefb66dca..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31256-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Trader Leon:
-Man, you are really a dependable person. Don't forget. -You must take the box of supplies to Messenger Wahkan of Ketra at the Ketra Orc base. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31256-03.html b/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31256-03.html deleted file mode 100644 index 8b36993b04..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31256-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Leon:
-What are you doing? Take the box of supplies I gave you to Messenger Wahkan of Ketra. You are already running late. Hurry. They're very bad-tempered. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-01.htm b/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-01.htm deleted file mode 100644 index 451ccfb0aa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Cadmon:
-Are you interested in the Ketra Orcs, stranger? Well, if you are, I can tell you an interesting story. Right now, the Ketra Orcs are hiring mercenaries! It's a great opportunity to get into their outpost under the pretext of delivering military supplies! Are you interested?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-02.html b/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-02.html deleted file mode 100644 index dfc15d1595..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Cadmon:
-I appreciate your interest, but the Ketra Orcs are some dangerous characters! You wouldn't stand a chance against them!
-(Only a character of level 74 or above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-03.html b/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-03.html deleted file mode 100644 index 1ff9be750c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Cadmon:
-Good! Find Trader Leon at the weapons and armor shop. He'll give you the details. Basically, you're delivering goods to them. The next step is up to you. You will either gain their trust or become their enemy! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-04.html b/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-04.html deleted file mode 100644 index f1a1541bea..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31296-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Cadmon:
-Find Trader Leon in the weapons and armor shop to deliver military supplies to the Ketra Orcs. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31371-01.html b/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31371-01.html deleted file mode 100644 index f9f6509611..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31371-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-What brings you to the land of the Ketra, stranger?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31371-02.html b/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31371-02.html deleted file mode 100644 index aa51fe5b85..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31371-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-Good job, stranger.
-Well, are you a mercenary? Will you fight alongside the Ketra Orcs? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31371-03.html b/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31371-03.html deleted file mode 100644 index 570ea89509..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/31371-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Messenger Wahkan:
-You don't have required items. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/Q00011_SecretMeetingWithKetraOrcs.java b/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/Q00011_SecretMeetingWithKetraOrcs.java deleted file mode 100644 index 0e8ad431fc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/Q00011_SecretMeetingWithKetraOrcs.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00011_SecretMeetingWithKetraOrcs; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Secret Meeting With Ketra Orcs (11)
- * Original Jython script by Emperorc. - * @author nonom - */ -public class Q00011_SecretMeetingWithKetraOrcs extends Quest -{ - // NPCs - private static final int CADMON = 31296; - private static final int LEON = 31256; - private static final int WAHKAN = 31371; - // Item - private static final int BOX = 7231; - - public Q00011_SecretMeetingWithKetraOrcs() - { - super(11, Q00011_SecretMeetingWithKetraOrcs.class.getSimpleName(), "Secret Meeting With Ketra Orcs"); - addStartNpc(CADMON); - addTalkId(CADMON, LEON, WAHKAN); - registerQuestItems(BOX); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - final QuestState st = getQuestState(player, false); - if (st == null) - { - return htmltext; - } - - switch (event) - { - case "31296-03.html": - st.startQuest(); - break; - case "31256-02.html": - if (st.isCond(1)) - { - st.setCond(2, true); - st.giveItems(BOX, 1); - } - break; - case "31371-02.html": - if (st.isCond(2) && st.hasQuestItems(BOX)) - { - st.addExpAndSp(233125, 18142); - st.exitQuest(false, true); - } - else - { - htmltext = "31371-03.html"; - } - break; - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - int npcId = npc.getId(); - switch (st.getState()) - { - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - case State.CREATED: - if (npcId == CADMON) - { - htmltext = (player.getLevel() >= 74) ? "31296-01.htm" : "31296-02.html"; - } - break; - case State.STARTED: - if ((npcId == CADMON) && st.isCond(1)) - { - htmltext = "31296-04.html"; - } - else if (npcId == LEON) - { - if (st.isCond(1)) - { - htmltext = "31256-01.html"; - - } - else if (st.isCond(2)) - { - htmltext = "31256-03.html"; - } - } - else if ((npcId == WAHKAN) && st.isCond(2)) - { - htmltext = "31371-01.html"; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31258-01.html b/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31258-01.html deleted file mode 100644 index 69451aec2c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31258-01.html +++ /dev/null @@ -1,6 +0,0 @@ -Trader Helmut:
-Did Guard Cadmon send you? All right. I guess you are good enough.
-Bear in mind that the Varka Silenos are different from other Silenos. They may look alike, but the Varka Silenos have traditionally been fearless soldiers. They are completely different from other Silenos who are engaged in stock farming. They are very particular about manners. You should try not to offend them.
-Okay, here's the task. You need to take this box of supplies to the Varka Silenos base. Sounds simple, right? Even a three year old can do this.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31258-02.html b/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31258-02.html deleted file mode 100644 index cccaae7a22..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31258-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Helmut:
-Good, good. I like your straight-forward personality. Now take this box of supplies to Naran Ashanuk Herald of Varka at the Varka Silenos base. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31258-03.html b/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31258-03.html deleted file mode 100644 index 447dc00d76..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31258-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Helmut:
-What are you still doing here? Take the box of supplies to Naran Ashanuk Herald of Varka! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-01.htm b/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-01.htm deleted file mode 100644 index 873e418c0b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Cadmon:
-Are you interested in the Varka Silenos, stranger? Well, if you are, I know an interesting story. They've been hiring mercenaries lately! It's a great opportunity to gain access to their barracks on the pretext of smuggling weapons in!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-02.html b/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-02.html deleted file mode 100644 index 6cb555f832..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Cadmon:
-I appreciate your interest, but the Varkas aren't your average Silenos! They're some very rough characters! You wouldn't stand a chance!
-(Only a character of level 74 or above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-03.html b/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-03.html deleted file mode 100644 index a5029c40c7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Cadmon:
-Good! Find Trader Helmut at the weapons and armor shop. He'll give you the details. Basically, you're delivering goods to them. It won't be very difficult. After the delivery, the next step is up to you. It depends entirely on how you act as to whether you gain their trust or become their enemy. Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-04.html b/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-04.html deleted file mode 100644 index 5f846df672..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31296-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Cadmon:
-Go to the weapons and armor shop, and tell Trader Helmut. Hurry up. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31378-01.html b/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31378-01.html deleted file mode 100644 index c4d6d0b6c5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31378-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Messenger Naran Ashanuk:
- What brings you to this land of the Varka, traveler of Zephyr Winds?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31378-02.html b/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31378-02.html deleted file mode 100644 index 5f94371399..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31378-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Were these supplies sent by Helmut of Goddard? Thank you for bringing them so far! We Varkas never forget our debts!
-You look like a very strong person! We Varka have been at war with the Ketra Orcs for a very long time. Will you help us? We never forget our friends! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31378-03.html b/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31378-03.html deleted file mode 100644 index e085000b26..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/31378-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-You don't have required items. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/Q00012_SecretMeetingWithVarkaSilenos.java b/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/Q00012_SecretMeetingWithVarkaSilenos.java deleted file mode 100644 index 436e306bfa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/Q00012_SecretMeetingWithVarkaSilenos.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00012_SecretMeetingWithVarkaSilenos; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Secret Meeting With Varka Silenos (12)
- * Original Jython script by Emperorc. - * @author nonom - */ -public class Q00012_SecretMeetingWithVarkaSilenos extends Quest -{ - // NPCs - private static final int CADMON = 31296; - private static final int HELMUT = 31258; - private static final int NARAN = 31378; - // Item - private static final int BOX = 7232; - - public Q00012_SecretMeetingWithVarkaSilenos() - { - super(12, Q00012_SecretMeetingWithVarkaSilenos.class.getSimpleName(), "Secret Meeting With Varka Silenos"); - addStartNpc(CADMON); - addTalkId(CADMON, HELMUT, NARAN); - registerQuestItems(BOX); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - final QuestState st = getQuestState(player, false); - if (st == null) - { - return htmltext; - } - - switch (event) - { - case "31296-03.html": - st.startQuest(); - break; - case "31258-02.html": - if (st.isCond(1)) - { - st.setCond(2, true); - giveItems(player, BOX, 1); - } - break; - case "31378-02.html": - if (st.isCond(2) && st.hasQuestItems(BOX)) - { - st.addExpAndSp(233125, 18142); - st.exitQuest(false, true); - } - else - { - htmltext = "31378-03.html"; - } - break; - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - final int npcId = npc.getId(); - switch (st.getState()) - { - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - case State.CREATED: - if (npcId == CADMON) - { - htmltext = (player.getLevel() >= 74) ? "31296-01.htm" : "31296-02.html"; - } - break; - case State.STARTED: - final int cond = st.getInt("cond"); - if ((npcId == CADMON) && (cond == 1)) - { - htmltext = "31296-04.html"; - } - else if (npcId == HELMUT) - { - if (cond == 1) - { - htmltext = "31258-01.html"; - } - else if (cond == 2) - { - htmltext = "31258-03.html"; - } - } - else if ((npcId == NARAN) && (cond == 2)) - { - htmltext = "31378-01.html"; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31263-00.htm b/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31263-00.htm deleted file mode 100644 index 0dde474fa4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31263-00.htm +++ /dev/null @@ -1,5 +0,0 @@ -Trader Liesel:
-My friend left home to study archaeology a couple of years ago. His mother was just overcome by disease.
-Could you deliver her last letter to him?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31263-01.html b/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31263-01.html deleted file mode 100644 index 43a0e5f44d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31263-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Liesel:
-My friend left to study archaeology at the Imperial Tomb a few years ago. I have a letter for him, -but I think you aren't capable enough to handle this delivery yet.
-(This quest may only be undertaken by a character of level 74 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31263-02.html b/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31263-02.html deleted file mode 100644 index 5bf04599ec..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31263-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Liesel:
-He may be hard to find, but his last letter mentioned the Imperial Tomb. Maybe you can find him there! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31538-00.html b/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31538-00.html deleted file mode 100644 index 38c78485c0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31538-00.html +++ /dev/null @@ -1,5 +0,0 @@ -Ghost of Adventurer:
-Huh? You were asked to give me this letter? Who writes a letter to a dead person? Hmm...Let me see...
-Oh, it's from my mother! It's been so long since I've seen her! How is she?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31538-01.html b/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31538-01.html deleted file mode 100644 index 7648b56416..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31538-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Ghost of Adventurer:
-Oh, yes, I see. Well, I could never let her see me like this, anyway!
-Thank you for bringing the letter to me. Please accept this token of my appreciation. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31538-02.html b/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31538-02.html deleted file mode 100644 index 02f48f1fd8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/31538-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Ghost of Adventurer:
-You don't have the required items. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/Q00014_WhereaboutsOfTheArchaeologist.java b/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/Q00014_WhereaboutsOfTheArchaeologist.java deleted file mode 100644 index b23ea1dd5a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/Q00014_WhereaboutsOfTheArchaeologist.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00014_WhereaboutsOfTheArchaeologist; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Whereabouts of the Archaeologist (14)
- * Original Jython script by disKret. - * @author nonom - */ -public class Q00014_WhereaboutsOfTheArchaeologist extends Quest -{ - // NPCs - private static final int LIESEL = 31263; - private static final int GHOST_OF_ADVENTURER = 31538; - // Item - private static final int LETTER = 7253; - - public Q00014_WhereaboutsOfTheArchaeologist() - { - super(14, Q00014_WhereaboutsOfTheArchaeologist.class.getSimpleName(), "Whereabouts of the Archaeologist"); - addStartNpc(LIESEL); - addTalkId(LIESEL, GHOST_OF_ADVENTURER); - registerQuestItems(LETTER); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - final QuestState st = getQuestState(player, false); - if (st == null) - { - return htmltext; - } - - switch (event) - { - case "31263-02.html": - st.startQuest(); - st.giveItems(LETTER, 1); - break; - case "31538-01.html": - if (st.isCond(1) && st.hasQuestItems(LETTER)) - { - st.giveAdena(136928, true); - st.addExpAndSp(325881, 32524); - st.exitQuest(false, true); - } - else - { - htmltext = "31538-02.html"; - } - break; - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - final int npcId = npc.getId(); - switch (st.getState()) - { - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - case State.CREATED: - if (npcId == LIESEL) - { - htmltext = (player.getLevel() < 74) ? "31263-01.html" : "31263-00.htm"; - } - break; - case State.STARTED: - if (st.isCond(1)) - { - switch (npcId) - { - case LIESEL: - htmltext = "31263-02.html"; - break; - case GHOST_OF_ADVENTURER: - htmltext = "31538-00.html"; - break; - } - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-01.htm b/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-01.htm deleted file mode 100644 index 6881e932a3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Donal:
-The Golden Ram Mercenary Force are in the the Swamp of Screams fighting stakatos. I'm looking for someone to deliver war supplies, are you interested?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-02.html b/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-02.html deleted file mode 100644 index c967a3190b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Donal:
-This is too difficult for you.
-(This quest may be undertaken only by characters of level 66 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-03.html b/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-03.html deleted file mode 100644 index 50dbac6569..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Chief Donal:
-Get the supplies from my niece Daisy. I heard the Golden Ram might be recruiting if you are interested. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-04.html b/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-04.html deleted file mode 100644 index d76dfcf133..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31314-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Chief Donal:
-Get the supplies from my niece Daisy and take them to the Swamp of Screams. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31315-01.html b/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31315-01.html deleted file mode 100644 index 22e5199ca7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31315-01.html +++ /dev/null @@ -1,4 +0,0 @@ - Warehouse Freightman Daisy:
-Uncle Donal sent you? Here's the box! Heavy, isn't it? Deliver it quickly before the winter comes!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31315-02.html b/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31315-02.html deleted file mode 100644 index 5a0541218c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31315-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Freightman Daisy:
-Take it to the mercenary forces temporary outpost in the east part of the Swamp of Screams. I'll mark it on your Map. Speak with Mercenary Supplier Abercrombie.
-Thanks, and be careful! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31315-03.html b/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31315-03.html deleted file mode 100644 index eddca8988c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31315-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Freightman Daisy:
-Hurry and deliver the box to Mercenary Supplier Abercrombie! I marked the Map, didn't I? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31555-01.html b/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31555-01.html deleted file mode 100644 index 5a1f837abd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31555-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Supplier Abercrombie:
-Are these the supplies from Daisy?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31555-02.html b/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31555-02.html deleted file mode 100644 index 24f7ce5b10..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/31555-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Mercenary Supplier Abercrombie:
-Hey, ale and mutton pie! You want a drink? What do you think of mercenary life? We're recruiting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/Q00018_MeetingWithTheGoldenRam.java b/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/Q00018_MeetingWithTheGoldenRam.java deleted file mode 100644 index c8a2fa4a4f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/Q00018_MeetingWithTheGoldenRam.java +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00018_MeetingWithTheGoldenRam; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Meeting With The Golden Ram (18)
- * Original jython script by disKret. - * @author nonom - */ -public class Q00018_MeetingWithTheGoldenRam extends Quest -{ - // NPCs - private static final int DONAL = 31314; - private static final int DAISY = 31315; - private static final int ABERCROMBIE = 31555; - // Item - private static final int BOX = 7245; - - public Q00018_MeetingWithTheGoldenRam() - { - super(18, Q00018_MeetingWithTheGoldenRam.class.getSimpleName(), "Meeting With The Golden Ram"); - addStartNpc(DONAL); - addTalkId(DONAL, DAISY, ABERCROMBIE); - registerQuestItems(BOX); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - final QuestState st = getQuestState(player, false); - if (st == null) - { - return htmltext; - } - - switch (event) - { - case "31314-03.html": - if (player.getLevel() >= 66) - { - st.startQuest(); - } - else - { - htmltext = "31314-02.html"; - } - break; - case "31315-02.html": - st.setCond(2, true); - st.giveItems(BOX, 1); - break; - case "31555-02.html": - if (st.hasQuestItems(BOX)) - { - st.giveAdena(40000, true); - st.addExpAndSp(126668, 11731); - st.exitQuest(false, true); - } - break; - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - final int npcId = npc.getId(); - switch (st.getState()) - { - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - case State.CREATED: - if (npcId == DONAL) - { - htmltext = "31314-01.htm"; - } - break; - case State.STARTED: - if (npcId == DONAL) - { - htmltext = "31314-04.html"; - } - else if (npcId == DAISY) - { - htmltext = (st.getCond() < 2) ? "31315-01.html" : "31315-03.html"; - } - else if ((npcId == ABERCROMBIE) && st.isCond(2) && st.hasQuestItems(BOX)) - { - htmltext = "31555-01.html"; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-01.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-01.html deleted file mode 100644 index 640f114834..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Innocentin:
-You came all this way just to find me? Yes, I was once a high priest, until some unfortunate political developments landed me here in this blasted library! But lately, I've seen signs that my luck might be changing...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-02.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-02.html deleted file mode 100644 index dce01e8800..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Innocentin:
-Zounds! Where did you find this?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-03.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-03.html deleted file mode 100644 index 4be5c6faf5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-03.html +++ /dev/null @@ -1,6 +0,0 @@ -Innocentin:
-He was always a dutiful Warrior, even after his death... may the gods watch over his soul!
-... Why would he have you deliver this to me in person?
-Lately I've been having the same dream every night...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-04.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-04.html deleted file mode 100644 index fb7069e2a3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-04.html +++ /dev/null @@ -1,6 +0,0 @@ -Innocentin:
-In my dream, I'm looking down upon the Forest of the Dead... Suddenly, huge explosions rock the forest, and an army of undead rush towards me...
-This is bound to be a message from the gods!
-That's why I sent the one who held this crucifix there!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-05.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-05.html deleted file mode 100644 index 13719d0c43..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Innocentin:
-I've learned much of the ways of the wild since my days at the temple.
-In times like these, dead souls must be appeased!
-Take this crucifix to Grand Magister Tifaren of the Dark Elves and ask her to perform necromancy.She should be able to tell us what actually happened in the Forest of the Dead... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-06.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-06.html deleted file mode 100644 index b10139daae..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31328-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Innocentin:
-Take the crucifix to Grand Magister Tifaren of the Dark Elves and perform the necromancy to summon the soul of the priest.
-Ask him what happened in the Forest of the Dead... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31348-01.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31348-01.html deleted file mode 100644 index 4723e6f6c0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31348-01.html +++ /dev/null @@ -1,3 +0,0 @@ -High Priest Agripel:
-Is Innocentin one of those devil worshippers executed in the old witch trials? I never heard of him, ask someone else. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31348-02.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31348-02.html deleted file mode 100644 index f617554f1d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31348-02.html +++ /dev/null @@ -1,3 +0,0 @@ -High Priest Agripel:
-Maybe he was the guy who long ago was expelled for keeping a devil worshipper with him! He's probably a beggar now. I don't waste my time on such filth. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31348-03.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31348-03.html deleted file mode 100644 index f523cc51af..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31348-03.html +++ /dev/null @@ -1,3 +0,0 @@ -High Priest Agripel:
-Maybe the devil worshippers are hiding in a library somewhere, they still need to acquire knowledge. They couldn't be here in the temple! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31349-01.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31349-01.html deleted file mode 100644 index 4168ff9980..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31349-01.html +++ /dev/null @@ -1,3 +0,0 @@ -Benedict:
-Is Innocentin one of those devil worshippers executed in the old witch trials? I never heard of him, ask someone else. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31349-02.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31349-02.html deleted file mode 100644 index 86e7522a49..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31349-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Benedict:
-Maybe he was the guy who long ago was expelled for keeping a devil worshipper with him! He's probably a beggar now. I don't waste my time with such filth. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31349-03.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31349-03.html deleted file mode 100644 index f362bdcb87..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31349-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Benedict:
-Maybe the devil worshippers are hiding in a library somewhere, they still need to acquire knowledge. They couldn't be here in the temple! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31350-01.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31350-01.html deleted file mode 100644 index 7a5e8e062a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31350-01.html +++ /dev/null @@ -1,3 +0,0 @@ -Priest Dominic:
-Is Innocentin one of those devil worshippers executed in the old witch trials? I never heard of him, ask someone else. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31350-02.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31350-02.html deleted file mode 100644 index ab803aa866..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31350-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Dominic:
-Maybe he was the guy who long ago was expelled for keeping a devil worshipper with him! He's probably a beggar now. I don't waste my time with such filth. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31350-03.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31350-03.html deleted file mode 100644 index 9f543f86df..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31350-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Dominic:
-Maybe the devil worshippers are hiding in a library somewhere, they still need to acquire knowledge. They couldn't be here in the temple! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-01.htm b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-01.htm deleted file mode 100644 index b1f28af1e1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Mysterious Wizard:
-There's a ghost hanging around that tombstone that's been bothering me lately.
-Could you help me get rid of it?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-02.htm b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-02.htm deleted file mode 100644 index b7b56a7be1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-You think you're up to it?
-Look for the ghost in the tombstone. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-03.htm b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-03.htm deleted file mode 100644 index e2dc87cc21..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-Come back when the Forest of the Dead won't eat you alive!
-(Only characters of level 63 or above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-04.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-04.html deleted file mode 100644 index 5afba2e52a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-It may sound funny coming from a Dark Mage, but I don't like dealing with the dead. It's only trouble.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-05.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-05.html deleted file mode 100644 index a618eda1e1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31522-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Mysterious Wizard:
-What's this? Weren't you supposed to check the tombstone for that noisy ghost? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-01.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-01.html deleted file mode 100644 index 9efcbdc67d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Tombstone:
-After pushing away the moss, words appear engraved upon the stone. Could these words be used to conjure a ghost?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-02.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-02.html deleted file mode 100644 index 1a36b3e525..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Tombstone:
-A jeweled scepter for the King and two Silver Spears for the von Hellmann family who protect him.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-03.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-03.html deleted file mode 100644 index e6311e4458..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Tombstone:
-Soon a ghostly being appears... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-04.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-04.html deleted file mode 100644 index 92a47e1566..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31523-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Tombstone:
-Don't look now, but there's a ghost behind you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-01.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-01.html deleted file mode 100644 index 158677b0ae..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Ghost of von Hellmann:
-Who is calling me? Why am I stuck here? Why can't I sleep?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-02.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-02.html deleted file mode 100644 index 87d9543e74..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-02.html +++ /dev/null @@ -1,5 +0,0 @@ -Ghost of von Hellmann:
-I'm Duke Adolf von Hellmann, father of Alfred von Hellmann, who King Astor struck down with his spear.
-Why can't I rest in peace?! Who dares interrupt my sleep?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-03.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-03.html deleted file mode 100644 index a0ca6779f2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Ghost of von Hellmann:
-Woe is me! This was once our home, but now we have no authority! Does this land still belong to the Elmore Kingdom?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-04.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-04.html deleted file mode 100644 index 8b5335fc03..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Ghost of von Hellmann:
-Elmore? Why can't I feel the King's grace? What's happened here?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-05.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-05.html deleted file mode 100644 index 2d8e96b344..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Ghost of von Hellmann:
-Find out what happened here and who has owned this land while I was sleeping! What's become of my family?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-06.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-06.html deleted file mode 100644 index 950ebbdc2c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Ghost of von Hellmann:
-Thank you. Find out what has transpired! Follow my servant and bring me the news! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-06a.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-06a.html deleted file mode 100644 index 114b7c0d57..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-06a.html +++ /dev/null @@ -1,4 +0,0 @@ -Ghost of von Hellmann:
-Find out what's happened in the forest.
-I'd have one of my servants show you the way, but they're all busy. Come back later! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07.html deleted file mode 100644 index ef4776cc84..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Ghost of von Hellmann:
-Thank you! Please find out what's happened in the forest. Follow my servant and bring me the news! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07a.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07a.html deleted file mode 100644 index 467b86ec07..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07a.html +++ /dev/null @@ -1,4 +0,0 @@ -Ghost of von Hellmann:
-Find out what has happened in the forest!
-I'd have one of my servants show you the way, but they're all busy. Come back later! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07b.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07b.html deleted file mode 100644 index 81616c1cfc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07b.html +++ /dev/null @@ -1,3 +0,0 @@ -Ghost of von Hellmann:
-I've repeatedly sent my servants to help you! Find the bookshelf that contains the history of the forest. It's somewhere in the south. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07c.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07c.html deleted file mode 100644 index 60a19e7ce6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31524-07c.html +++ /dev/null @@ -1,4 +0,0 @@ -Ghost of von Hellmann:
-You haven't found out enough to tell me why I can't rest in peace!
-Be gone! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31525-01.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31525-01.html deleted file mode 100644 index 611bb4f6fa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31525-01.html +++ /dev/null @@ -1,3 +0,0 @@ -Ghost of Hellmann Page:
-I'm a guide of the Forest of the Dead. By the Lord's order, I'll lead you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31525-02.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31525-02.html deleted file mode 100644 index b2d86220f8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31525-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Ghost of von Hellmann's Page:
-Find a book that discusses an old grudge. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-01.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-01.html deleted file mode 100644 index 078c04d0cc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Broken Bookshelf:
-The book that the ghost spoke of was easily found. The padlock was firmly locked.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-02.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-02.html deleted file mode 100644 index 78fbd5c576..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Broken Bookshelf:
-The padlock is engraved with the mark of the Hellmann family. In spite of it's many years outside, once the outer layer of dust and soil is brushed away, it shines silvery in the light! This lock won't be easy to break.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-03.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-03.html deleted file mode 100644 index 5dc6b15bc0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Broken Bookshelf:
-The book's cover is lambskin that's been discolored by dark, red-colored stains.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-04.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-04.html deleted file mode 100644 index 0e1d9578c7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Broken Bookshelf:
-The dark red stains have damaged the pages of the book as well. Not much text is legible. All the years outside couldn't have helped, either!
-Do you want to read it?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-05.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-05.html deleted file mode 100644 index c366f27b62..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-05.html +++ /dev/null @@ -1,7 +0,0 @@ - -"Chapter 5, The Lord of the Forest of the Dead
-... The lord of the Forest of the Dead... has existed from the beginning of...
-... the ruling is, ... the form of taxation...
-... rather than that, life and death itself... under the ruling authority..."
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-06.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-06.html deleted file mode 100644 index 160500a21b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-06.html +++ /dev/null @@ -1,5 +0,0 @@ - -"Basically, to her, taxation means... no different from... Due to... who's the master of the Moon Face Flower and the Forest of the Dead... went under her... are vampires
-... this is.... when examining the characteristics of..... sucking... by that one's power... that is... necessary to the subordinate of the lord of the forest..."
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-07.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-07.html deleted file mode 100644 index d91e5ad858..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-07.html +++ /dev/null @@ -1,6 +0,0 @@ - -".... vampire.............. of the Forest of Dead...............
-............... cursed............... working at..............."
-The rest of the text is obscured by the red stains.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-08.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-08.html deleted file mode 100644 index 1fec52b142..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-08.html +++ /dev/null @@ -1,4 +0,0 @@ - -When you're about to replace the book, you notice something lying on the ground. Maybe it fell out of the book...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-09.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-09.html deleted file mode 100644 index 017d06bf27..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-09.html +++ /dev/null @@ -1,4 +0,0 @@ - -While examining the bookshelf, you notice something lying on the ground. Maybe it fell out of the book.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-10.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-10.html deleted file mode 100644 index 5314d5f947..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-10.html +++ /dev/null @@ -1,4 +0,0 @@ - -When you're about to replace the book, you notice something lying on the ground. Maybe it fell out of the book.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-11.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-11.html deleted file mode 100644 index 5a3865e386..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-11.html +++ /dev/null @@ -1,4 +0,0 @@ - -While examining the area around the bookshelf, you see something lying on the ground. Perhaps it fell when you were taking out the book.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-12.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-12.html deleted file mode 100644 index b385a31b59..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-12.html +++ /dev/null @@ -1,5 +0,0 @@ - -It's a metallic cross. It seems to be an Einhasad's Crucifix!
- -
- \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-13.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-13.html deleted file mode 100644 index aacaabb303..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-13.html +++ /dev/null @@ -1,5 +0,0 @@ - -An old bookshelf is standing in front of you. It's extremely worn, and the lower section is used as a locker. A few books are arranged on the shelves, and the locker is secured with a padlock which bears the mark of the Hellmann Family.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-14.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-14.html deleted file mode 100644 index 57d7e46618..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-14.html +++ /dev/null @@ -1,5 +0,0 @@ - -You feel the cold metallic surface of the Einhasad's Crucifix. Since it's been inside the bookshelf for a long time, it's a little rusty.
-At the moment you touch the crucifix, you hear a whisper in your ear!
-Take it to Einhasad Temple in the Rune Township... to Priest Innocentin there... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-15.html b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-15.html deleted file mode 100644 index 57d7e46618..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/31526-15.html +++ /dev/null @@ -1,5 +0,0 @@ - -You feel the cold metallic surface of the Einhasad's Crucifix. Since it's been inside the bookshelf for a long time, it's a little rusty.
-At the moment you touch the crucifix, you hear a whisper in your ear!
-Take it to Einhasad Temple in the Rune Township... to Priest Innocentin there... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java b/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java deleted file mode 100644 index 401854b355..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java +++ /dev/null @@ -1,456 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00021_HiddenTruth; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.instancemanager.WalkingManager; -import com.l2jserver.gameserver.model.L2World; -import com.l2jserver.gameserver.model.Location; -import com.l2jserver.gameserver.model.actor.L2Character; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; -import com.l2jserver.gameserver.network.serverpackets.NpcSay; - -/** - * Hidden Truth (21) - * @author xban1x - */ -public class Q00021_HiddenTruth extends Quest -{ - // NPCs - private static final int INNOCENTIN = 31328; - private static final int AGRIPEL = 31348; - private static final int BENEDICT = 31349; - private static final int DOMINIC = 31350; - private static final int MYSTERIOUS_WIZARD = 31522; - private static final int TOMBSTONE = 31523; - private static final int GHOST_OF_VON_HELLMAN = 31524; - private static final int GHOST_OF_VON_HELLMANS_PAGE = 31525; - private static final int BROKEN_BOOKSHELF = 31526; - // Location - private static final Location GHOST_LOC = new Location(51432, -54570, -3136, 0); - private static final Location PAGE_LOC = new Location(51446, -54514, -3136, 0); - // Items - private static final int CROSS_OF_EINHASAD = 7140; - private static final int CROSS_OF_EINHASAD2 = 7141; - // Misc - private static final int MIN_LVL = 63; - private static final String PAGE_ROUTE_NAME = "rune_ghost1b"; - private static int PAGE_COUNT = 0; - private static boolean GHOST_SPAWNED = false; - private boolean PAGE_SPAWNED = false; - private boolean MOVE_ENDED = false; - - public Q00021_HiddenTruth() - { - super(21, Q00021_HiddenTruth.class.getSimpleName(), "Hidden Truth"); - addStartNpc(MYSTERIOUS_WIZARD); - addTalkId(MYSTERIOUS_WIZARD, TOMBSTONE, GHOST_OF_VON_HELLMAN, GHOST_OF_VON_HELLMANS_PAGE, BROKEN_BOOKSHELF, AGRIPEL, BENEDICT, DOMINIC, INNOCENTIN); - addSeeCreatureId(GHOST_OF_VON_HELLMANS_PAGE); - addRouteFinishedId(GHOST_OF_VON_HELLMANS_PAGE); - registerQuestItems(CROSS_OF_EINHASAD); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - QuestState st = getQuestState(player, false); - String htmltext = null; - if (st != null) - { - switch (event) - { - case "31328-02.html": - case "31328-03.html": - case "31328-04.html": - case "31522-01.htm": - case "31522-04.html": - case "31523-02.html": - case "31524-02.html": - case "31524-03.html": - case "31524-04.html": - case "31524-05.html": - case "31526-01.html": - case "31526-02.html": - case "31526-04.html": - case "31526-05.html": - case "31526-06.html": - case "31526-12.html": - case "31526-13.html": - { - htmltext = event; - break; - } - case "31328-05.html": - { - if (st.isCond(7)) - { - st.giveItems(CROSS_OF_EINHASAD2, 1); - st.addExpAndSp(131228, 11978); - st.exitQuest(false, true); - htmltext = event; - } - break; - } - case "31522-02.htm": - { - if (player.getLevel() < MIN_LVL) - { - htmltext = "31522-03.htm"; - } - else - { - st.startQuest(); - htmltext = event; - } - break; - } - case "31523-03.html": - { - if (GHOST_SPAWNED) - { - htmltext = "31523-04.html"; - st.playSound(QuestSound.SKILLSOUND_HORROR_2); - } - else - { - final L2Npc ghost = addSpawn(GHOST_OF_VON_HELLMAN, GHOST_LOC, false, 0); - ghost.broadcastPacket(new NpcSay(ghost.getObjectId(), 0, ghost.getId(), NpcStringId.WHO_AWOKE_ME)); - GHOST_SPAWNED = true; - st.startQuestTimer("DESPAWN_GHOST", 1000 * 300, ghost); - st.setCond(2); - st.playSound(QuestSound.SKILLSOUND_HORROR_2); - htmltext = event; - } - break; - } - case "31524-06.html": - { - if (PAGE_COUNT < 5) - { - final L2Npc page = addSpawn(GHOST_OF_VON_HELLMANS_PAGE, PAGE_LOC, false, 0); - page.setScriptValue(player.getObjectId()); - page.broadcastPacket(new NpcSay(page.getObjectId(), Say2.NPC_ALL, page.getId(), NpcStringId.MY_MASTER_HAS_INSTRUCTED_ME_TO_BE_YOUR_GUIDE_S1).addStringParameter(player.getName())); - WalkingManager.getInstance().startMoving(page, PAGE_ROUTE_NAME); - PAGE_COUNT++; - st.setCond(3); - htmltext = event; - } - else - { - htmltext = "31524-06a.html"; - } - break; - } - case "31526-03.html": - { - st.playSound(QuestSound.ITEMSOUND_ARMOR_CLOTH); - htmltext = event; - break; - } - case "31526-07.html": - { - st.setCond(4); - htmltext = event; - break; - } - case "31526-08.html": - { - if (!st.isCond(5)) - { - st.playSound(QuestSound.AMDSOUND_ED_CHIMES); - st.setCond(5); - htmltext = event; - } - else - { - htmltext = "31526-09.html"; - } - break; - } - case "31526-14.html": - { - st.giveItems(CROSS_OF_EINHASAD, 1); - st.setCond(6); - htmltext = event; - break; - } - case "DESPAWN_GHOST": - { - GHOST_SPAWNED = false; - npc.deleteMe(); - break; - } - case "DESPAWN": - { - PAGE_COUNT--; - npc.deleteMe(); - break; - } - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st != null) - { - switch (npc.getId()) - { - case MYSTERIOUS_WIZARD: - { - switch (st.getState()) - { - case State.CREATED: - { - htmltext = "31522-01.htm"; - break; - } - case State.STARTED: - { - htmltext = "31522-05.html"; - break; - } - case State.COMPLETED: - { - htmltext = getAlreadyCompletedMsg(player); - break; - } - } - break; - } - case TOMBSTONE: - { - htmltext = "31523-01.html"; - break; - } - case GHOST_OF_VON_HELLMAN: - { - switch (st.getCond()) - { - case 2: - { - htmltext = "31524-01.html"; - break; - } - case 3: - { - if (PAGE_SPAWNED) - { - htmltext = "31524-07b.html"; - } - else - { - if (PAGE_COUNT < 5) - { - final L2Npc PAGE = addSpawn(GHOST_OF_VON_HELLMANS_PAGE, PAGE_LOC, true, 0); - PAGE_COUNT++; - PAGE_SPAWNED = true; - PAGE.setScriptValue(player.getObjectId()); - WalkingManager.getInstance().startMoving(PAGE, PAGE_ROUTE_NAME); - htmltext = "31524-07.html"; - } - else - { - htmltext = "31524-07a.html"; - } - } - break; - } - case 4: - { - htmltext = "31524-07c.html"; - break; - } - } - break; - } - case GHOST_OF_VON_HELLMANS_PAGE: - { - if (st.isCond(3)) - { - if (MOVE_ENDED) - { - htmltext = "31525-02.html"; - st.startQuestTimer("DESPAWN", 3000, npc); - } - else - { - htmltext = "31525-01.html"; - } - } - break; - } - case BROKEN_BOOKSHELF: - { - switch (st.getCond()) - { - case 3: - { - htmltext = "31526-01.html"; - break; - } - case 4: - { - st.setCond(5); - st.playSound(QuestSound.AMDSOUND_ED_CHIMES); - htmltext = "31526-10.html"; - break; - } - case 5: - { - htmltext = "31526-11.html"; - break; - } - case 6: - { - htmltext = "31526-15.html"; - break; - } - } - break; - } - case AGRIPEL: - { - if (st.hasQuestItems(CROSS_OF_EINHASAD) && st.isCond(6)) - { - st.set("AGRIPEL", "1"); - if ((st.getInt("AGRIPEL") == 1) && (st.getInt("DOMINIC") == 1) && (st.getInt("BENEDICT") == 1)) - { - htmltext = "31348-03.html"; - st.setCond(7); - } - else if ((st.getInt("DOMINIC") == 1) || (st.getInt("BENEDICT") == 1)) - { - htmltext = "31348-02.html"; - } - else - { - htmltext = "31348-01.html"; - } - } - else if (st.isCond(7)) - { - htmltext = "31348-03.html"; - } - break; - } - - case BENEDICT: - { - if (st.hasQuestItems(CROSS_OF_EINHASAD) && st.isCond(6)) - { - - st.set("BENEDICT", "1"); - if ((st.getInt("AGRIPEL") == 1) && (st.getInt("DOMINIC") == 1) && (st.getInt("BENEDICT") == 1)) - { - htmltext = "31349-03.html"; - st.setCond(7); - } - else if ((st.getInt("AGRIPEL") == 1) || (st.getInt("DOMINIC") == 1)) - { - htmltext = "31349-02.html"; - } - else - { - htmltext = "31349-01.html"; - } - } - else if (st.isCond(7)) - { - htmltext = "31349-03.html"; - } - break; - } - case DOMINIC: - { - if (st.hasQuestItems(CROSS_OF_EINHASAD) && st.isCond(6)) - { - st.set("DOMINIC", "1"); - if ((st.getInt("AGRIPEL") == 1) && (st.getInt("DOMINIC") == 1) && (st.getInt("BENEDICT") == 1)) - { - htmltext = "31350-03.html"; - st.setCond(7); - } - else if ((st.getInt("AGRIPEL") == 1) || (st.getInt("BENEDICT") == 1)) - { - htmltext = "31350-02.html"; - } - else - { - htmltext = "31350-01.html"; - } - } - else if (st.isCond(7)) - { - htmltext = "31350-03.html"; - } - break; - } - case INNOCENTIN: - { - if (st.isCond(7) && st.hasQuestItems(CROSS_OF_EINHASAD)) - { - htmltext = "31328-01.html"; - } - else if (st.isCompleted()) - { - st = player.getQuestState("22_TragedyInVonHellmanForest"); - if (st == null) - { - htmltext = "31328-06.html"; - } - } - break; - } - } - } - return htmltext; - } - - @Override - public String onSeeCreature(L2Npc npc, L2Character creature, boolean isSummon) - { - if (creature.isPlayer()) - { - playSound((L2PcInstance) creature, QuestSound.HORROR_01); - } - return super.onSeeCreature(npc, creature, isSummon); - } - - @Override - public void onRouteFinished(L2Npc npc) - { - final QuestState st = L2World.getInstance().getPlayer(npc.getScriptValue()).getQuestState(getName()); - if (st != null) - { - st.startQuestTimer("DESPAWN", 15000, npc); - MOVE_ENDED = true; - } - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-01.htm b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-01.htm deleted file mode 100644 index 3789ba360d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Innocentin:
-You've been a great help to me in the past, and I'd like to thank you again for bringing me that report! There's one more thing... Could you help me out again?
-"OK, whatever." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-01a.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-01a.html deleted file mode 100644 index d4d1737ef4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-01a.html +++ /dev/null @@ -1,6 +0,0 @@ -Innocentin:
-This is something you can get started on immediately!
-There's a vast conspiracy afoot in the Rune Township and the Forest of the Dead!
-The roots of this conspiracy lie in that forest, and you should seek the truth there.
-(This quest may only be undertaken by a character of level 64 or above who has completed the Hidden Truth and Tragedy of Hellmann Forest quests.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-02.htm b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-02.htm deleted file mode 100644 index cf947a5159..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Innocentin:
-You look tired, my friend! Why don't you take a break, improve your ability and then come back! This next mission is much more challenging than the last one...
-(This quest may only be undertaken by a character of level 64 or above who has completed the Tragedy of Hellmann Forest quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-03.htm b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-03.htm deleted file mode 100644 index 56cc3f96d1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Innocentin:
-Here's the Map and key he left behind. Take them and find out what he was searching for.
-"Tell me more about the Map and key." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-04.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-04.html deleted file mode 100644 index 1238a8f4c1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Innocentin:
-He probably drew this Map while exploring the Forest of the Dead. As for the key... I'm not sure. The only clue I've found is the Silver Spear engraved upon it.
-"Tell me more about the Silver Spear." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-05.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-05.html deleted file mode 100644 index 1238a8f4c1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Innocentin:
-He probably drew this Map while exploring the Forest of the Dead. As for the key... I'm not sure. The only clue I've found is the Silver Spear engraved upon it.
-"Tell me more about the Silver Spear." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-06.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-06.html deleted file mode 100644 index 0a796a3a5d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-06.html +++ /dev/null @@ -1,6 +0,0 @@ -Innocentin:
-According to a custom from the Elmoreden period, a Silver Spear was the symbol of the family responsible for guarding the royal family.
-An ancient proverb says, "A jeweled scepter for the mighty King of Elmore and two Silver Spears for his protectors".
-I'll wager that somewhere is a lock that matches this key...
-"Who holds the spear now?" - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-07.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-07.html deleted file mode 100644 index 0dd8ac5431..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-07.html +++ /dev/null @@ -1,5 +0,0 @@ -High Priestess Innocentin:
-Today's silver spears are dedicated to the people who worked hard to suppress the rebellion. One is for the protectors of the royal family, who captured and punished the rebels, and one is for those who fought against the undead and captured the demon's followers... and it will therefore be a dedication that upholds the false accusations against our former priests.
-The one responsible for all this is staying at the temple in Rune Castle Town.
-Please don't ask any more questions. Just take the records that he left behind, and find out where that key fits. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-08.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-08.html deleted file mode 100644 index a622c83652..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Innocentin:
-You must find the lock that matches that key! It would probably be in the possession of a family worthy of the spear! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-09.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-09.html deleted file mode 100644 index 54adb628b3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-09.html +++ /dev/null @@ -1,4 +0,0 @@ -Innocentin:
-So, did you find anything?
-"Here is the diary and the hairpin." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-10.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-10.html deleted file mode 100644 index cee78b8d71..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-10.html +++ /dev/null @@ -1,6 +0,0 @@ -Innocentin:
-Please! Put those things away...Please!
-I'm sorry, but the power of darkness contained in them is overpowering! I can't even look at them...
-How about you? Are you okay?
-"I'm fine." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-11.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-11.html deleted file mode 100644 index 26aa604bbf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-11.html +++ /dev/null @@ -1,5 +0,0 @@ -Innocentin:
-Really? Have you read it?
-"Yes, I read it."
-"No, I haven't read it." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-12.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-12.html deleted file mode 100644 index faa84f2bf5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-12.html +++ /dev/null @@ -1,3 +0,0 @@ -Innocentin:
-Read it and come back to me... I have many questions! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-13.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-13.html deleted file mode 100644 index 25945ad1b9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-13.html +++ /dev/null @@ -1,5 +0,0 @@ -Innocentin:
-Then answer me... What is it?
-"Lidia's Diary."
-"Alfred's Diary." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-14.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-14.html deleted file mode 100644 index 058b8c7543..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-14.html +++ /dev/null @@ -1,5 +0,0 @@ -Innocentin:
-Have you read the document?
-"Yes, I read it."
-No, I didn't read it." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-15.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-15.html deleted file mode 100644 index 25945ad1b9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-15.html +++ /dev/null @@ -1,5 +0,0 @@ -Innocentin:
-Then answer me... What is it?
-"Lidia's Diary."
-"Alfred's Diary." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-16.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-16.html deleted file mode 100644 index 6a634f342e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-16.html +++ /dev/null @@ -1,7 +0,0 @@ -Innocentin:
-Lidia's Diary?
-Lidia was dear Alfred's precious daughter... They led an idyllic life, until that tragic day...
-Does her diary cover the period after she became lord of the forest?
-"Yes, it does."
-"No, it doesn't." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-17.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-17.html deleted file mode 100644 index 345da46980..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-17.html +++ /dev/null @@ -1,5 +0,0 @@ -Innocentin:
-What did you learn from the diary?
-"Lidia was bitten by a vampire."
-"Lidia signed some sort of contract." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-18.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-18.html deleted file mode 100644 index b9b9b4122d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-18.html +++ /dev/null @@ -1,8 +0,0 @@ -Innocentin:
-A contract?!
-I'll bet that rascal Nidrah was behind this! Was he involved?
-"Yes, he forced her to sign the contract."
-"Lidia approached Nidrah."
-"Nidrah wasn't involved."
-"As I said before, Lidia was bitten by a vampire! Don't you get it?" - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-19.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-19.html deleted file mode 100644 index af5ad36d6c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-19.html +++ /dev/null @@ -1,5 +0,0 @@ -Innocentin:
-Oh really? Then let me ask you one more question. Have you ever heard the expression "Owner of a Moon Face Flower"?
-"It's the Lord of the Forest of the Dead."
-"It's Lidia von Hellmann." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-20.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-20.html deleted file mode 100644 index 1a747b689b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-20.html +++ /dev/null @@ -1,6 +0,0 @@ -Innocentin:
-Ah ha! Then that hairpin must belong to Lidia!
-Now I remember it! She used to wear it in her hair! Sigh... She was so beautiful then...
-Thank you for your help! I suppose our business is done now, but your journey continues...
-I'll always be here for you if you have any questions. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-21.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-21.html deleted file mode 100644 index 926ba2ece5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-21.html +++ /dev/null @@ -1,3 +0,0 @@ - -The moment the words leave your lips, you feel an electric current shoot through your head, buzzing like 5000 wyverns in flight! Deep within your heart wells an emotion, small but growing more intense by the moment... It's remorse! Lidia must have been angered by your answer! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-22.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-22.html deleted file mode 100644 index 77a2ab5dfc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31328-22.html +++ /dev/null @@ -1,3 +0,0 @@ -Innocentin:
-I don't think your journey's over yet. Someone close to her wants to see you. He'll show you the path that leads to your next adventure. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-01.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-01.html deleted file mode 100644 index 7ff24873bc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-01.html +++ /dev/null @@ -1,6 +0,0 @@ -Violet:
-Oh, the key? That's right! That's the key that Duke Adolph von Hellmann asked me to keep for him! That was a very long time ago! He told me that it guards the highest honor his family received from the King!
-But I can't go there. I can't leave this village.
-Go towards the northern part of the village. You'll find a box near the center of the Forest of the Dead. This key opens the padlock on the box.
-Bring me the object you find inside the box. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-02.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-02.html deleted file mode 100644 index 26fffef58d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-02.html +++ /dev/null @@ -1,5 +0,0 @@ -Violet:
-I can't go there. I can't leave this village!
-Go towards the northern part of the village, you'll find a box near the center of the Forest of the Dead. This key opens the padlock on the box.
-Bring me the object you find inside the box. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-03.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-03.html deleted file mode 100644 index 954562c12e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Violet:
-This is the very Silver Spear that King Astaire Van Halter bestowed upon Duke Adolph! It's the treasured heirloom of the Hellmann family! The lord will be overjoyed! The long lost honor of his family name is restored, and it's all because of you!
-Thank you. Please accept this small token of our gratitude! I only wish that we could have you over to the castle and give you a more formal recognition...
-I probably have to express our gratitude to the lord through another person, not me. Please talk with the village people. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-04.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-04.html deleted file mode 100644 index 630bdafdde..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31386-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Violet:
-Find someone among the villagers to express your gratitude to the lord.
-Have you visited Doriun yet? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-01.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-01.html deleted file mode 100644 index 6863ce0e31..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Tombstone:
-One jeweled scepter for the King and two Silver Spears for the von Hellmann family who protects him.
-Wait a while. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-02.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-02.html deleted file mode 100644 index 725a6eb089..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Tombstone:
-After a while, a white ghost appears. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-03.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-03.html deleted file mode 100644 index 74910b9305..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Tombstone:
-The ghost was beside you all along! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-04.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-04.html deleted file mode 100644 index 2b77bb9898..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Tombstone:
-There is a tablet engraved with familiar characters.
-Dig
-Recall the ghost - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-05.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-05.html deleted file mode 100644 index 75f1931a18..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Tombstone:
-There is a tablet engraved with familiar characters.
-It appears that something else has been crudely etched into the tablet. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-06.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-06.html deleted file mode 100644 index bab35c3717..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31523-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Tombstone:
-You find a key engraved with a silver spear. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-01.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-01.html deleted file mode 100644 index 191e97c226..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Ghost of von Hellmann:
-Who has summoned me here? Why can't I sleep?
-"Let me tell you about Lidia von Hellmann." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-02.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-02.html deleted file mode 100644 index 5c29303c3d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Ghost of von Hellmann:
-Oh, the horror! The von Hellmann's are dead and Lidia is a demon? Her curse upon this land is depriving me of my rest!
-"It's the truth." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-03.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-03.html deleted file mode 100644 index 5073d58c8f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Ghost of von Hellmann:
-How did she become the Lord of the Dead?
-"Here's her diary." - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-04.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-04.html deleted file mode 100644 index 1b50cf3007..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Ghost of von Hellmann:
-This concerns Lidia's Diary? Is that right? Oh, I see! Dear traveler! For whatever little time I have left, I'll read this diary and go over the past again and again in my mind!
-Traveler, I shall reward you well for this diary! Dig underneath this tombstone and you will find my key!
-Take that key to the Chamberlain of the Hellmann Family! You'll find him in the village hidden in the middle of this forest! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-05.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-05.html deleted file mode 100644 index e3f72f8ea8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Ghost of von Hellmann:
-Dig under this monument for the key and take it to the von Hellmann's page.
-He's in the hidden village in the center of the forest. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-06.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-06.html deleted file mode 100644 index 958fa8e1e1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31524-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Ghost of von Hellmann:
-Take the key to von Hellmann's page, He's in the hidden village in the center of the forest. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-01.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-01.html deleted file mode 100644 index f996b8789e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Broken Desk:
-The chest is secured with a padlock which bears the mark of the Hellmann family.
-Use a Silver Spear key - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-02.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-02.html deleted file mode 100644 index 4d71bbb831..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-02.html +++ /dev/null @@ -1,6 +0,0 @@ -Broken Desk:
-The chest opens with a creak.
-Inside, you find an old hairpin and a book tied with a leather string.
-Examine the hair pin.
-Examine the book. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-03.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-03.html deleted file mode 100644 index 1dd24e7fbe..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Broken Bookshelf:
-The chest opens with a creak. Inside, you find an old hairpin and a book tied with a leather string.
-Examine the hair pin.
-Examine the book. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-04.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-04.html deleted file mode 100644 index 38a570515f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Broken Bookshelf:
-The hair pin is a type once used by aristocratic ladies. It's engraved with the image of a Moon Face Flower, and was probably used by a unattached young lady.
-"I wonder what that design means?" - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-05.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-05.html deleted file mode 100644 index 34d7b93cc9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-05.html +++ /dev/null @@ -1,6 +0,0 @@ -Broken Bookshelf:
-According to legend, the Moon Face Flower only blooms on moonlit nights.
-It's very shy, and shows its face only to its future husband. This legend made it quite popular among young, single, aristocratic ladies.
-I wonder who might have owned this one?
-Take the hairpin. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-06.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-06.html deleted file mode 100644 index 2a5b92aca0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Broken Bookshelf:
-You took the hairpin.
-Check the bookshelf. You may find something else. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-07.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-07.html deleted file mode 100644 index 94f8d67270..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Broken Bookshelf:
-In the locker where you found the hairpin, you also find a book tied with a leather string.
-Examine the book. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-07a.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-07a.html deleted file mode 100644 index 7a44b25299..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-07a.html +++ /dev/null @@ -1,4 +0,0 @@ -Broken Bookshelf:
-A book tied with a leather string. It's tied very tight, and doesn't seem like it could easily be cut.
-Try to cut the string. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-08.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-08.html deleted file mode 100644 index 8d12eadce7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-08.html +++ /dev/null @@ -1,5 +0,0 @@ -Broken Bookshelf:
-When you cut the string, it falls to the floor and you hear a faint sigh.
-Shall you read the book?
-Read the book. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-09.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-09.html deleted file mode 100644 index d91eecf003..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-09.html +++ /dev/null @@ -1,6 +0,0 @@ -Broken Bookshelf:
-"Month of Shilen, 15th day.
-Lately, Father spends all his days with Nidrah! He doesn't take care of the manor like he should. What makes him so angry?
-What's this?!
-"It's Lidia's Diary!" - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-10.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-10.html deleted file mode 100644 index 37b4358938..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-10.html +++ /dev/null @@ -1,4 +0,0 @@ -Broken Bookshelf:
-It's a journal that belonged to Lidia von Hellmann. It probably has a lot of useful information in it!
-Pick up the journal. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-11.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-11.html deleted file mode 100644 index ad6aced3a7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-11.html +++ /dev/null @@ -1,4 +0,0 @@ -Broken Bookshelf:
-You've found Lidia's Diary!
-Check the bookshelf again. You may find something else. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-12.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-12.html deleted file mode 100644 index 6db064a55d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-12.html +++ /dev/null @@ -1,4 +0,0 @@ -Broken Bookshelf:
-In the chest where you found the book, you also find a hairpin shaped like a Moon Face Flower.
-Examine the hairpin. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-13.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-13.html deleted file mode 100644 index ce7be3bba5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31526-13.html +++ /dev/null @@ -1,3 +0,0 @@ -Broken Bookshelf:
-The locker is empty. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31530-01.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31530-01.html deleted file mode 100644 index 0964ea2811..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31530-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Box:
-It's an antique box with the von Hellmann family seal on the lock.
-Use the Silver Spear key. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31530-02.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31530-02.html deleted file mode 100644 index fcea7452be..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31530-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Box:
-The box opens. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31530-03.html b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31530-03.html deleted file mode 100644 index 1e5d9316ad..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/31530-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Box:
-It's empty. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/Q00023_LidiasHeart.java b/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/Q00023_LidiasHeart.java deleted file mode 100644 index e124e4b599..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00023_LidiasHeart/Q00023_LidiasHeart.java +++ /dev/null @@ -1,509 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00023_LidiasHeart; - -import quests.Q00024_InhabitantsOfTheForestOfTheDead.Q00024_InhabitantsOfTheForestOfTheDead; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.Location; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; -import com.l2jserver.gameserver.network.serverpackets.NpcSay; - -/** - * Lidia's Heart (23) - * @author ivantotov - */ -public final class Q00023_LidiasHeart extends Quest -{ - // NPCs - private static final int HIGH_PRIEST_INNOCENTIN = 31328; - private static final int TRADER_VIOLET = 31386; - private static final int TOMBSTONE = 31523; - private static final int GHOST_OF_VON_HELLMANN = 31524; - private static final int BROKEN_BOOKSHELF = 31526; - private static final int BOX = 31530; - // Items - private static final int LIDIAS_DIARY = 7064; - private static final int SILVER_KEY = 7149; - private static final int SILVER_SPEAR = 7150; - // Reward - private static final int MAP_FOREST_OF_THE_DEAD = 7063; - private static final int LIDIAS_HAIRPIN = 7148; - // Misc - private static final int MIN_LEVEL = 64; - // Locations - private static final Location GHOST_SPAWN = new Location(51432, -54570, -3136); - - public Q00023_LidiasHeart() - { - super(23, Q00023_LidiasHeart.class.getSimpleName(), "Lidia's Heart"); - addStartNpc(HIGH_PRIEST_INNOCENTIN); - addTalkId(HIGH_PRIEST_INNOCENTIN, TRADER_VIOLET, TOMBSTONE, GHOST_OF_VON_HELLMANN, BROKEN_BOOKSHELF, BOX); - addSpawnId(GHOST_OF_VON_HELLMANN); - registerQuestItems(LIDIAS_DIARY, SILVER_KEY, SILVER_SPEAR); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - if ("DESPAWN".equals(event)) - { - final L2Npc npc0 = npc.getVariables().getObject("npc0", L2Npc.class); - if (npc0 != null) - { - npc0.getVariables().set("SPAWNED", false); - } - npc.deleteMe(); - return super.onAdvEvent(event, npc, player); - } - - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "ACCEPT": - { - if (player.getLevel() < MIN_LEVEL) - { - htmltext = "31328-02.htm"; - } - else - { - if (!hasQuestItems(player, MAP_FOREST_OF_THE_DEAD)) - { - giveItems(player, MAP_FOREST_OF_THE_DEAD, 1); - } - giveItems(player, SILVER_KEY, 1); - qs.startQuest(); - qs.setMemoState(1); - htmltext = "31328-03.htm"; - } - break; - } - case "31328-05.html": - case "31328-06.html": - case "31328-10.html": - case "31328-11.html": - case "31328-16.html": - case "31328-17.html": - case "31328-18.html": - case "31524-03.html": - case "31526-04.html": - case "31526-05.html": - case "31526-07a.html": - case "31526-09.html": - { - htmltext = event; - break; - } - case "31328-07.html": - { - if (qs.isMemoState(1)) - { - qs.setMemoState(2); - qs.setCond(2, true); - htmltext = event; - } - break; - } - case "31328-12.html": - { - if (qs.isMemoState(5) || qs.isMemoState(6)) - { - qs.setMemoState(6); - qs.setCond(5); - htmltext = event; - } - break; - } - case "31328-13.html": - { - if (qs.isMemoState(5) || qs.isMemoState(6)) - { - qs.setMemoState(7); - htmltext = event; - } - break; - } - case "31328-19.html": - { - playSound(player, QuestSound.AMBSOUND_MT_CREAK); - htmltext = event; - break; - } - case "31328-20.html": - { - if (qs.isMemoState(7)) - { - qs.setMemoState(8); - qs.setCond(6); - htmltext = event; - } - break; - } - case "31328-21.html": - { - qs.setCond(5); - htmltext = event; - break; - } - case "31523-02.html": - { - if (qs.isMemoState(8) || qs.isMemoState(9)) - { - playSound(player, QuestSound.SKILLSOUND_HORROR_02); - if (!npc.getVariables().getBoolean("SPAWNED", false)) - { - npc.getVariables().set("SPAWNED", true); - final L2Npc ghost = addSpawn(npc, GHOST_OF_VON_HELLMANN, GHOST_SPAWN, false, 0); - ghost.getVariables().set("npc0", npc); - htmltext = event; - } - else - { - htmltext = "31523-03.html"; - } - } - break; - } - case "31523-06.html": - { - if (qs.isMemoState(9)) - { - giveItems(player, SILVER_KEY, 1); - qs.setMemoState(10); - qs.setCond(8); - htmltext = event; - } - break; - } - case "31524-02.html": - { - playSound(player, QuestSound.CHRSOUND_MHFIGHTER_CRY); - htmltext = event; - break; - } - case "31524-04.html": - { - if (qs.isMemoState(8)) - { - takeItems(player, LIDIAS_DIARY, 1); - qs.setMemoState(9); - qs.setCond(7); - htmltext = event; - } - break; - } - case "31526-02.html": - { - if (qs.isMemoState(2) && hasQuestItems(player, SILVER_KEY)) - { - takeItems(player, SILVER_KEY, -1); - qs.setMemoState(3); - htmltext = event; - } - break; - } - case "31526-06.html": - { - if (!hasQuestItems(player, LIDIAS_HAIRPIN)) - { - giveItems(player, LIDIAS_HAIRPIN, 1); - } - qs.setMemoState(qs.getMemoState() + 1); - if (hasQuestItems(player, LIDIAS_DIARY)) - { - qs.setCond(4); - } - htmltext = event; - break; - } - case "31526-08.html": - { - playSound(player, QuestSound.ITEMSOUND_ARMOR_LEATHER); - htmltext = event; - break; - } - case "31526-10.html": - { - playSound(player, QuestSound.AMBSOUND_EG_DRON); - htmltext = event; - break; - } - case "31526-11.html": - { - giveItems(player, LIDIAS_DIARY, 1); - qs.setMemoState(qs.getMemoState() + 1); - if (hasQuestItems(player, LIDIAS_HAIRPIN)) - { - qs.setCond(4); - } - htmltext = event; - break; - } - case "31530-02.html": - { - if (qs.isMemoState(11) && hasQuestItems(player, SILVER_KEY)) - { - giveItems(player, SILVER_SPEAR, 1); - takeItems(player, SILVER_KEY, -1); - playSound(player, QuestSound.ITEMSOUND_WEAPON_SPEAR); - qs.setCond(10); - htmltext = event; - } - break; - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs.isCreated()) - { - if (npc.getId() == HIGH_PRIEST_INNOCENTIN) - { - final QuestState q22 = player.getQuestState("22_TragedyInVonHellmannForest"); - if ((q22 != null) && q22.isCompleted()) - { - htmltext = "31328-01.htm"; - } - else - { - htmltext = "31328-01a.html"; - } - } - } - else if (qs.isStarted()) - { - switch (npc.getId()) - { - case HIGH_PRIEST_INNOCENTIN: - { - switch (qs.getMemoState()) - { - case 1: - { - htmltext = "31328-04.html"; - break; - } - case 2: - { - htmltext = "31328-08.html"; - break; - } - case 5: - { - htmltext = "31328-09.html"; - break; - } - case 6: - { - htmltext = "31328-14.html"; - break; - } - case 7: - { - htmltext = "31328-15.html"; - break; - } - case 8: - { - qs.setCond(6, true); - htmltext = "31328-22.html"; - break; - } - } - break; - } - case TRADER_VIOLET: - { - switch (qs.getMemoState()) - { - case 10: - { - if (hasQuestItems(player, SILVER_KEY)) - { - qs.setMemoState(11); - qs.setCond(9, true); - htmltext = "31386-01.html"; - } - break; - } - case 11: - { - if (!hasQuestItems(player, SILVER_SPEAR)) - { - htmltext = "31386-02.html"; - } - else - { - giveAdena(player, 350000, true); - addExpAndSp(player, 456893, 42112); - qs.exitQuest(false, true); - htmltext = "31386-03.html"; - } - break; - } - } - break; - } - case TOMBSTONE: - { - switch (qs.getMemoState()) - { - case 8: - { - htmltext = "31523-01.html"; - break; - } - case 9: - { - htmltext = "31523-04.html"; - break; - } - case 10: - { - htmltext = "31523-05.html"; - break; - } - } - break; - } - case GHOST_OF_VON_HELLMANN: - { - final int memoState = qs.getMemoState(); - if (memoState == 8) - { - htmltext = "31524-01.html"; - } - else if (memoState == 9) - { - if (!hasQuestItems(player, SILVER_KEY)) - { - htmltext = "31524-05.html"; - } - } - else if ((memoState == 9) || (memoState == 10)) - { - if (hasQuestItems(player, SILVER_KEY)) - { - qs.setMemoState(10); - htmltext = "31524-06.html"; - } - } - break; - } - case BROKEN_BOOKSHELF: - { - switch (qs.getMemoState()) - { - case 2: - { - if (hasQuestItems(player, SILVER_KEY)) - { - qs.setCond(3, true); - htmltext = "31526-01.html"; - } - break; - } - case 3: - { - htmltext = "31526-03.html"; - break; - } - case 4: - { - if (hasQuestItems(player, LIDIAS_HAIRPIN)) - { - htmltext = "31526-07.html"; - } - else if (hasQuestItems(player, LIDIAS_DIARY)) - { - htmltext = "31526-12.html"; - } - break; - } - case 5: - { - if (hasQuestItems(player, LIDIAS_HAIRPIN, LIDIAS_DIARY)) - { - htmltext = "31526-13.html"; - } - break; - } - } - break; - } - case BOX: - { - if (qs.getMemoState() == 11) - { - if (hasQuestItems(player, SILVER_KEY)) - { - htmltext = "31530-01.html"; - } - else if (hasQuestItems(player, SILVER_SPEAR)) - { - htmltext = "31530-03.html"; - } - } - break; - } - } - } - else if (qs.isCompleted()) - { - if (npc.getId() == HIGH_PRIEST_INNOCENTIN) - { - htmltext = getAlreadyCompletedMsg(player); - } - else if (npc.getId() == TRADER_VIOLET) - { - final QuestState q24 = player.getQuestState(Q00024_InhabitantsOfTheForestOfTheDead.class.getSimpleName()); - if ((q24 == null)) - { - htmltext = "31386-04.html"; - } - } - } - return htmltext; - } - - @Override - public String onSpawn(L2Npc npc) - { - startQuestTimer("DESPAWN", 300000, npc, null); - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.WHO_AWOKE_ME)); - return super.onSpawn(npc); - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-01.htm b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-01.htm deleted file mode 100644 index 3f6990629b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Dorian:
-Are you the one who recovered the Silver Spear? Your reputation precedes you! Actually, I have a problem you may be able to help me with!
-Would you be willing to help me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-02.htm b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-02.htm deleted file mode 100644 index 6b7c852d44..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Dorian:
-Oh...? Was it really you who recovered the Silver Spear?
-I must have misjudged you! I thought you were more experienced...
-(Only a character of level 65 or above who has fulfilled the Lidia's Heart quest can undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-03.htm b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-03.htm deleted file mode 100644 index 6a7c9dda4b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Dorian:
-Every day I place a flower in front of a tombstone on my way to the castle in the south part of the village, but I've been having severe pains in my legs all day! Would you place this flower in front of the tombstone for me? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-04.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-04.html deleted file mode 100644 index a0a07d14ce..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Dorian:
-Please place a flower in front of the tombstone in the southern part of the village. I'll tell you the rest of the story when you come back. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-05.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-05.html deleted file mode 100644 index a15e68265b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-05.html +++ /dev/null @@ -1,6 +0,0 @@ -Dorian:
-Did you place the flower at the tombstone? Did you notice who was buried in that grave?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-06.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-06.html deleted file mode 100644 index 6d22d804a3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Dorian:
-Did you really put the flower there?
-This task requires someone with keen observation and insight, not someone who could not even look upon the grave!
-I hoped that it was you who would recover the Silver Spear... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-07.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-07.html deleted file mode 100644 index 6d22d804a3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-07.html +++ /dev/null @@ -1,5 +0,0 @@ -Dorian:
-Did you really put the flower there?
-This task requires someone with keen observation and insight, not someone who could not even look upon the grave!
-I hoped that it was you who would recover the Silver Spear... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-08.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-08.html deleted file mode 100644 index 02e7e17487..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-08.html +++ /dev/null @@ -1,4 +0,0 @@ -Dorian:
-Yes! Rose rests there... She was the maid Mr. Alfred, my former master, assigned to his daughter. They were about the same age.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-09.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-09.html deleted file mode 100644 index 42f434610a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-09.html +++ /dev/null @@ -1,4 +0,0 @@ -Dorian:
-Yes! Rose rests there... She was the maid Mr. Alfred, my former master, assigned to his daughter. They were about the same age.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-10.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-10.html deleted file mode 100644 index f35443b8d8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-10.html +++ /dev/null @@ -1,4 +0,0 @@ -Dorian:
-Why, she's Lady Lidia, current lord of this manor! She thought highly of Rose, and didn't want her coming back as an undead! Lady Lidia graciously allowed Rose to rest in peace. That's better than most others get around here!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-11.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-11.html deleted file mode 100644 index fe4048facc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-11.html +++ /dev/null @@ -1,5 +0,0 @@ -Dorian:
-I don't know, exactly. All I know is, my fiance was with Lady Lidia, and died protecting her!
-Anyway, thank you for taking the flower to Rose's grave.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-12.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-12.html deleted file mode 100644 index c44120992e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-12.html +++ /dev/null @@ -1,6 +0,0 @@ -Dorian:
-Oh, don't be so modest! You remembered Rose's name! And you asked such respectful questions!
-You're obviously a wonderful person!
Do you suppose you could do something else for me?
-Recently my nights have been dreamless, and I've woken up with wounds that I don't remember getting! Something strange is going on in this village! Will you investigate?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-13.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-13.html deleted file mode 100644 index f87533f9a3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-13.html +++ /dev/null @@ -1,4 +0,0 @@ -Dorian:
-Excellent! Take this crucifix, just in case! This forest is very dangerous, you never know what might jump out at you!
-Please observe the village and try to determine what is going on there at night! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-14.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-14.html deleted file mode 100644 index bb939be20e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-14.html +++ /dev/null @@ -1,3 +0,0 @@ -Dorian:
-Observe the village closely. Help me figure out what's going on here! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-15.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-15.html deleted file mode 100644 index 17b570675a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-15.html +++ /dev/null @@ -1,5 +0,0 @@ -Dorian:
-I can't remember last night at all, and I'm exhausted! Have you discovered anything?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-16.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-16.html deleted file mode 100644 index d3565469ab..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-16.html +++ /dev/null @@ -1,4 +0,0 @@ -Dorian:
-A vampire, eh?! Hmm... I see. Is the lord of the manor coming down here making the rounds? Hmm...Why am I so tired then?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-17.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-17.html deleted file mode 100644 index 80e82bc286..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-17.html +++ /dev/null @@ -1,5 +0,0 @@ -Dorian:
-Nooo!
-It can't be! Me? A vampire? It's true that the lord of the manor I serve is an undead... But that doesn't mean I'm a vampire!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-18.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-18.html deleted file mode 100644 index 62040260ea..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-18.html +++ /dev/null @@ -1,6 +0,0 @@ -Dorian:
-I gave you that! ...I see. Now I remember...
-Young master Einhart and... and... you! You were standing there... holding the holy symbol!
-Now I know... why the lord gave me such an order!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-19.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-19.html deleted file mode 100644 index 0e36e244e9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-19.html +++ /dev/null @@ -1,5 +0,0 @@ -Dorian:
-This has all been a test! The lord himself ordered it!
-I think you might have something that belongs to him!
-Go to a bookshelf in the southwest part of the forest, you'll meet the maid of the lord. She only appears at night. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-20.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-20.html deleted file mode 100644 index 0a20b79fcd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-20.html +++ /dev/null @@ -1,5 +0,0 @@ -Dorian:
-So, you haven't met the maid of our lord yet? Remember, she only appears at night. Naturally, things get pretty scary around here after dark... You should really be careful!
-But I'm sure you can handle it!
-Go to the bookshelf in the southwest part of the forest, the maid of the lord will be there. Meet her there at night! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-21.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-21.html deleted file mode 100644 index 8d0035f070..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-21.html +++ /dev/null @@ -1,3 +0,0 @@ -Dorian:
-Oh, come in! Say, you must've dropped this the last time you were here! It looks very valuable! You should keep it in a safe place. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-22.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-22.html deleted file mode 100644 index a3785ddebf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31389-22.html +++ /dev/null @@ -1,5 +0,0 @@ -Dorian:
-Did you see the maid of the lord? I have no memories after dark, so I have no idea what she's like!
-I've heard that she's quite beautiful! I was even told that she resembles my fiance!
-At least she's... alive! What a privilege, even if it's only during the day! Oh, well, I shouldn't be talking about this... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-01.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-01.html deleted file mode 100644 index 85ad96f5a2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-Long time no see. Things sure are quiet these days!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-02.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-02.html deleted file mode 100644 index 5857841976..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-What are you talking about?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-03.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-03.html deleted file mode 100644 index 28782169ad..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-Oh, that. It's an amulet to help my puppets collect bone pieces in the forest without getting hurt.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-04.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-04.html deleted file mode 100644 index 5af6dca09b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-It may look a little odd, but it's just an amulet.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-05.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-05.html deleted file mode 100644 index 876dc0e07a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-What did you hear?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-06.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-06.html deleted file mode 100644 index e7dec180a4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-Where did you hear the name Nidrah?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-07.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-07.html deleted file mode 100644 index 9fb600a35e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-07.html +++ /dev/null @@ -1,6 +0,0 @@ -Mysterious Wizard:
-So, you're under the protection of Lady Lidia.
-We've signed a mutual contract not to harm each other.
-This doll was made by Nidrah, and tells the Lord of the Forest of the Dead not to attack its bearer.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-08.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-08.html deleted file mode 100644 index d7bfa2988c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-08.html +++ /dev/null @@ -1,5 +0,0 @@ -Mysterious Wizard:
-This much I can tell you.
-I'm a Dark Mage, that's how I got it! You just can't tell the future, can you?
-Come back when you have more confidence in me. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-09.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-09.html deleted file mode 100644 index 14dabd92ae..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-09.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-You trust me now? Tell me about Nidrah!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-10.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-10.html deleted file mode 100644 index 5900db2859..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-10.html +++ /dev/null @@ -1,5 +0,0 @@ -Mysterous Wizard:
-So tell me!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-11.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-11.html deleted file mode 100644 index 031f7a913c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-11.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-Where is your proof?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-12.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-12.html deleted file mode 100644 index 4358403324..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-12.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-So?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-13.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-13.html deleted file mode 100644 index 77e71d4644..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-13.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-So I made a mistake. What's wrong with that?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-14.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-14.html deleted file mode 100644 index eb40aa842f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-14.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-History is filled with such contracts. Do you know why?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-15.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-15.html deleted file mode 100644 index 7c05eb2924..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-15.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-Go on.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-16.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-16.html deleted file mode 100644 index 21b29fa01d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-16.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-You think I have something to do with Nidrah?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-17.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-17.html deleted file mode 100644 index a68cbc1427..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-17.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-Let's say for arguments sake that I'm Nidrah. What difference would that make?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-18.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-18.html deleted file mode 100644 index a68cbc1427..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-18.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-Let's say for arguments sake that I'm Nidrah. What difference would that make?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-19.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-19.html deleted file mode 100644 index 3b2174e092..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-19.html +++ /dev/null @@ -1,5 +0,0 @@ -Mysterious Wizard:
-You found the diary! You're tracking Nidrah.
-Going further may be difficult, you're following a dangerous man. If you insist, you'll need the key.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-20.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-20.html deleted file mode 100644 index 72945b5b1e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-20.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-The Priest of the Rune Township has the key. I'll give you the doll, it represents the person who carried the real authority in the Hellmann Forest and Rune Territory, even over Lidia.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-21.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-21.html deleted file mode 100644 index 187feac45d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-21.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-I can't tell you, but you may find out soon.
-Come on, show the doll to the priest at the temple of the Rune Township. Ask him about the one who hides behind the truth. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-22.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-22.html deleted file mode 100644 index b537b2efec..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31522-22.html +++ /dev/null @@ -1,3 +0,0 @@ -Mysterious Mage:
-Visit the temple of the Rune Township if you want to learn more about them. Ask about the one who hides the truth... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31531-01.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31531-01.html deleted file mode 100644 index 0f80109acd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31531-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Tombstone:
-Here lies Rose, a faithful, loving servant. May she rest in peace.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31531-02.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31531-02.html deleted file mode 100644 index facd6c78ab..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31531-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Tombstone:
-You've placed flowers on the grave. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31531-03.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31531-03.html deleted file mode 100644 index 843268724c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31531-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Tombstone:
-The tombstone bears an epitaph:
-Here lies Rose, a faithful and loving servant. May she rest in peace.
-Moon Face Flowers bloom brilliantly around the tomb. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-01.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-01.html deleted file mode 100644 index 94aa7591e9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Maid of Lidia:
-My lady thanks you for recovering the Silver Spear. It's a family treasure.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-02.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-02.html deleted file mode 100644 index 913f543c2e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Maid of Lidia:
-She knows how you helped her ancestors rest in peace. My lady knows all that happens in her forest!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-03.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-03.html deleted file mode 100644 index 86c8a19ac8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Maid of Lidia:
-My lady knows everything about your journeys here. She hopes you'll uncover all the details of what has transpired.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-04.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-04.html deleted file mode 100644 index 71c0d3c245..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Maid of Lidia:
-Come back after reading this letter from my lady. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-05.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-05.html deleted file mode 100644 index 2512343914..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Maid of Lidia:
-I don't know what it says, I wouldn't dream of reading the letter meant for my lord!
-I was told you had something for me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-06.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-06.html deleted file mode 100644 index e1531eb175..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Maid of Lidia:
-This is Neidrahu's work, a hairpin of Moon Face Flower. How beautiful!
-I must go now.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-07.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-07.html deleted file mode 100644 index 7b7810ae9c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Maid of Lidia:
-Oh no! Could you have dropped it in the village? Take the letter with you and ask around for it. Meet me again tomorrow night. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-07a.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-07a.html deleted file mode 100644 index 6e0f64abef..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-07a.html +++ /dev/null @@ -1,4 +0,0 @@ -Maid of Lidia:
-Do you have something for me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-08.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-08.html deleted file mode 100644 index d9fbccec6b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-08.html +++ /dev/null @@ -1,4 +0,0 @@ -Maid of Lidia:
-What is it?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-09.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-09.html deleted file mode 100644 index 5bf8566642..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-09.html +++ /dev/null @@ -1,4 +0,0 @@ -Maid of Lidia:
-What is it?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-10.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-10.html deleted file mode 100644 index eaa34b0a3c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-10.html +++ /dev/null @@ -1,7 +0,0 @@ -Maid of Lidia:
-Did I say Neidrahu?
-What do you know of the name?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-11.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-11.html deleted file mode 100644 index eaa34b0a3c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-11.html +++ /dev/null @@ -1,7 +0,0 @@ -Maid of Lidia:
-Did I say Neidrahu?
-What do you know of the name?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-12.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-12.html deleted file mode 100644 index cdfa240581..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-12.html +++ /dev/null @@ -1,3 +0,0 @@ -Maid of Lidia:
-Perhaps there is a tree with that name. Why would you think I had anything to do with this? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-13.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-13.html deleted file mode 100644 index 8b6622e529..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-13.html +++ /dev/null @@ -1,3 +0,0 @@ -Maid of Lidia:
-This manor is covered in corpses. This is the Forest of the Dead. Why do you keep asking about it? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-14.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-14.html deleted file mode 100644 index 1592fa52a2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-14.html +++ /dev/null @@ -1,4 +0,0 @@ -Maid of Lidia:
-What kind of Mystic was he?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-15.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-15.html deleted file mode 100644 index 027b5582d6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-15.html +++ /dev/null @@ -1,5 +0,0 @@ -Maid of Lidia:
-Oh! Only Lord Alfred and Lady Lidia know. Even Einhalder thinks he's an ordinary Mystic! How do you know of this?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-16.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-16.html deleted file mode 100644 index efc11d59f9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-16.html +++ /dev/null @@ -1,4 +0,0 @@ -Maid of Lidia:
-Did you read of the contract between Neidrahu and my lady in the diary?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-17.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-17.html deleted file mode 100644 index 73dd03b908..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-17.html +++ /dev/null @@ -1,4 +0,0 @@ -Maid of Lidia:
-How do you know about Neidrahu? Are you the last survivor? If so, you'll never get out of this forest alive...or dead!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-18.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-18.html deleted file mode 100644 index 6d7ecb7f88..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-18.html +++ /dev/null @@ -1,5 +0,0 @@ -Maid of Lidia:
-I was there when the contract was signed, but the memory of the undead is not very clear.
-If you find out what's on the missing page, when the contract was signed, I'll tell you more.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-19.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-19.html deleted file mode 100644 index 4c314a7983..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-19.html +++ /dev/null @@ -1,4 +0,0 @@ -Maid of Lidia:
-This I can tell you.
-The black magi roam freely during the day, but are fewer at night. Some carry odd looking dolls. Take one to their master, I'm sure he can tell you more! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-20.html b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-20.html deleted file mode 100644 index 4c314a7983..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/31532-20.html +++ /dev/null @@ -1,4 +0,0 @@ -Maid of Lidia:
-This I can tell you.
-The black magi roam freely during the day, but are fewer at night. Some carry odd looking dolls. Take one to their master, I'm sure he can tell you more! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/Q00024_InhabitantsOfTheForestOfTheDead.java b/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/Q00024_InhabitantsOfTheForestOfTheDead.java deleted file mode 100644 index b812075cb2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/Q00024_InhabitantsOfTheForestOfTheDead.java +++ /dev/null @@ -1,350 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00024_InhabitantsOfTheForestOfTheDead; - -import quests.Q00023_LidiasHeart.Q00023_LidiasHeart; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Inhabitants of the Forest of the Dead (24) - * @author malyelfik - */ -public class Q00024_InhabitantsOfTheForestOfTheDead extends Quest -{ - // NPCs - private static final int DORIAN = 31389; - private static final int MYSTERIOUS_WIZARD = 31522; - private static final int TOMBSTONE = 31531; - private static final int LIDIA_MAID = 31532; - // Items - private static final int LIDIA_LETTER = 7065; - private static final int LIDIA_HAIRPIN = 7148; - private static final int SUSPICIOUS_TOTEM_DOLL = 7151; - private static final int FLOWER_BOUQUET = 7152; - private static final int SILVER_CROSS_OF_EINHASAD = 7153; - private static final int BROKEN_SILVER_CROSS_OF_EINHASAD = 7154; - private static final int TOTEM = 7156; - // Monsters - // @formatter:off - private static final int[] MOBS = { 21557, 21558, 21560, 21563, 21564, 21565, 21566, 21567 }; - // @formatter:on - - public Q00024_InhabitantsOfTheForestOfTheDead() - { - super(24, Q00024_InhabitantsOfTheForestOfTheDead.class.getSimpleName(), "Inhabitants of the Forest of the Dead"); - addStartNpc(DORIAN); - addTalkId(DORIAN, MYSTERIOUS_WIZARD, TOMBSTONE, LIDIA_MAID); - addKillId(MOBS); - registerQuestItems(LIDIA_LETTER, LIDIA_HAIRPIN, SUSPICIOUS_TOTEM_DOLL, FLOWER_BOUQUET, SILVER_CROSS_OF_EINHASAD, BROKEN_SILVER_CROSS_OF_EINHASAD); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - // Dorian - case "31389-02.htm": - final QuestState qs = player.getQuestState(Q00023_LidiasHeart.class.getSimpleName()); - if ((player.getLevel() >= 65) && (qs != null) && qs.isCompleted()) - { - st.startQuest(); - st.giveItems(FLOWER_BOUQUET, 1); - return "31389-03.htm"; - } - break; - case "31389-08.html": - st.set("var", "1"); - break; - case "31389-13.html": - st.giveItems(SILVER_CROSS_OF_EINHASAD, 1); - st.setCond(3, true); - st.unset("var"); - break; - case "31389-18.html": - st.playSound(QuestSound.INTERFACESOUND_CHARSTAT_OPEN); - break; - case "31389-19.html": - if (!st.hasQuestItems(BROKEN_SILVER_CROSS_OF_EINHASAD)) - { - return getNoQuestMsg(player); - } - st.takeItems(BROKEN_SILVER_CROSS_OF_EINHASAD, -1); - st.setCond(5, true); - break; - case "31389-06.html": - case "31389-07.html": - case "31389-10.html": - case "31389-11.html": - case "31389-12.html": - case "31389-16.html": - case "31389-17.html": - break; - // Lidia Maid - case "31532-04.html": - st.giveItems(LIDIA_LETTER, 1); - st.setCond(6, true); - break; - case "31532-07.html": - if (st.isCond(8)) - { - if (!hasQuestItems(player, LIDIA_HAIRPIN, LIDIA_LETTER)) - { - return getNoQuestMsg(player); - } - st.takeItems(LIDIA_HAIRPIN, -1); - st.takeItems(LIDIA_LETTER, -1); - st.set("var", "1"); - htmltext = "31532-06.html"; - } - else - { - if (st.isCond(6)) - { - st.setCond(7, true); - } - } - break; - case "31532-10.html": - st.set("var", "2"); - break; - case "31532-14.html": - st.set("var", "3"); - break; - case "31532-19.html": - st.unset("var"); - st.setCond(9, true); - break; - case "31532-02.html": - case "31532-03.html": - case "31532-09.html": - case "31532-12.html": - case "31532-13.html": - case "31532-15.html": - case "31532-16.html": - case "31532-17.html": - case "31532-18.html": - break; - // Mysterious Wizard - case "31522-03.html": - if (!st.hasQuestItems(SUSPICIOUS_TOTEM_DOLL)) - { - return getNoQuestMsg(player); - } - st.takeItems(SUSPICIOUS_TOTEM_DOLL, 1); - st.set("var", "1"); - break; - case "31522-08.html": - st.unset("var"); - st.setCond(11, true); - break; - case "31522-17.html": - st.set("var", "1"); - break; - case "31522-21.html": - st.giveItems(TOTEM, 1); - st.addExpAndSp(242105, 22529); // GoD: Harmony: 6191140 exp and 6118650 sp - st.exitQuest(false, true); - break; - case "31522-02.html": - case "31522-05.html": - case "31522-06.html": - case "31522-07.html": - case "31522-10.html": - case "31522-11.html": - case "31522-12.html": - case "31522-13.html": - case "31522-14.html": - case "31522-15.html": - case "31522-16.html": - case "31522-19.html": - case "31522-20.html": - break; - // Tombstone - case "31531-02.html": - if (!st.hasQuestItems(FLOWER_BOUQUET)) - { - return getNoQuestMsg(player); - } - st.takeItems(FLOWER_BOUQUET, -1); - st.setCond(2, true); - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - - if ((st != null) && st.isCond(9) && (getRandom(100) < 10)) - { - st.giveItems(SUSPICIOUS_TOTEM_DOLL, 1); - st.setCond(10, true); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case DORIAN: - switch (st.getState()) - { - case State.CREATED: - htmltext = "31389-01.htm"; - break; - case State.STARTED: - switch (st.getCond()) - { - case 1: - htmltext = "31389-04.html"; - break; - case 2: - htmltext = (st.getInt("var") == 0) ? "31389-05.html" : "31389-09.html"; - break; - case 3: - htmltext = "31389-14.html"; - break; - case 4: - htmltext = "31389-15.html"; - break; - case 5: - htmltext = "31389-20.html"; - break; - case 6: - case 8: - htmltext = "31389-22.html"; - break; - case 7: - st.giveItems(LIDIA_HAIRPIN, 1); - st.setCond(8, true); - htmltext = "31389-21.html"; - break; - } - break; - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - } - break; - case MYSTERIOUS_WIZARD: - if (st.isStarted()) - { - if (st.isCond(10)) - { - htmltext = (st.getInt("var") == 0) ? "31522-01.html" : "31522-04.html"; - } - else if (st.isCond(11)) - { - htmltext = (st.getInt("var") == 0) ? "31522-09.html" : "31522-18.html"; - } - } - else if (st.isCompleted()) - { - final QuestState qs = player.getQuestState("25_HidingBehindTheTruth"); - if (!((qs != null) && (qs.isStarted() || qs.isStarted()))) - { - htmltext = "31522-22.html"; - } - } - break; - case TOMBSTONE: - if (st.isStarted()) - { - if (st.isCond(1)) - { - st.playSound(QuestSound.AMDSOUND_WIND_LOOT); - htmltext = "31531-01.html"; - } - else if (st.isCond(2)) - { - htmltext = "31531-03.html"; - } - } - break; - case LIDIA_MAID: - if (st.isStarted()) - { - switch (st.getCond()) - { - case 5: - htmltext = "31532-01.html"; - break; - case 6: - htmltext = "31532-05.html"; - break; - case 7: - htmltext = "31532-07a.html"; - break; - case 8: - switch (st.getInt("var")) - { - case 0: - htmltext = "31532-07a.html"; - break; - case 1: - htmltext = "31532-08.html"; - break; - case 2: - htmltext = "31532-11.html"; - break; - case 3: - htmltext = "31532-15.html"; - break; - } - break; - case 9: - case 10: - htmltext = "31532-20.html"; - break; - } - } - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31434-00.htm b/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31434-00.htm deleted file mode 100644 index 7932c2209e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31434-00.htm +++ /dev/null @@ -1,5 +0,0 @@ -Blueprint Seller Shaling:
-Hello! what ca I do for you? Do you need the blueprint for an extraordinary golem? Sorry, but I have only ordinary ones left now.
-Recently, I completed a really great golem bluprint, but I accidently dropped it off of the bridge and lost it! What a terrible loss!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31434-01.htm b/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31434-01.htm deleted file mode 100644 index 0b507c4842..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31434-01.htm +++ /dev/null @@ -1,3 +0,0 @@ -Blueprint Seller Shaling:
-This is amazing! How did you find it? You must be a great adventurer! Thank you so much! Please accept this token of my appreciation! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31434-02.htm b/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31434-02.htm deleted file mode 100644 index 05f375f5fa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31434-02.htm +++ /dev/null @@ -1,3 +0,0 @@ -Blueprint Seller Shaling:
-You said you'd found the blueprint, but you have neither the blueprint nor the box! Are you teasing me? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-01.htm b/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-01.htm deleted file mode 100644 index 0cb25f328f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Fishermen's Guild Member Lanosco:
-Hello again! You got the bait of wind from me before. Did it work? Honestly, it's not intended to catch fish at all!
-But you look rather pleased with yourself! Did you catch anything? Besides fish, I mean!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-02.htm b/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-02.htm deleted file mode 100644 index eff112d889..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Lanosco:
-Well, it's obvious you're not here to buy fishing gear! Have you ever been fishing? Try it once, you'll be hooked! Heh heh! I'm the man to see when you need bait!
-(This quest may only be undertaken by characters of level 27 or above who have completed Lanosco's Special Bait quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-03.htm b/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-03.htm deleted file mode 100644 index bed19e454e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Lanosco:
-A while back someone was here asking about a large blue treasure box. The bait I gave you earlier was designed to find it! Don't look so hurt! It only works if the person using it doesn't know about it. If you haven't found it yet, please continue to look for it. Only you can use that bait now.
-This should be easy for you! I can't tell you who the large blue treasure box belongs to now, but I will if you find it! It was lost near the shore. Look for it there. Your fishing skill must be level 9 and you must bring the box to me unopened. Someone else may have found it by now, so make sure to ask around about it in the market. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-04.htm b/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-04.htm deleted file mode 100644 index 265b37bff3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Lanosco:
-You're back! Did you finish your assignment already? Maybe I should've made it harder for you! Let me check it out... Is that the large blue treasure box?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-05.htm b/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-05.htm deleted file mode 100644 index fb3d2d1988..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-05.htm +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member Lanosco:
-You're back! Did you finish your assignment already? No? Well then, by all means, go and find the large blue treasure box. It won't be easy to find, but I'm really counting on you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-06.htm b/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-06.htm deleted file mode 100644 index 898135d4f4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-06.htm +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member Lanosco:
-I think this is the large blue treasure box that my client lost. It seems to contain a blueprint of golem. The only blacksmith in this whole area capable of making such a thing is Shaling in this village. She told me recently that she had dropped a box containing a blueprint in the river while she was traveling. This must be it! Please take this blueprint of golem to Shaling in the Blacksmith Shop. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-07.htm b/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-07.htm deleted file mode 100644 index 85fc5618e3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/31570-07.htm +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member Lanosco:
-Why haven't you gone to see Shaling yet? Take the blueprint of golem to her in the Blacksmith Shop immediately! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/Q00027_ChestCaughtWithABaitOfWind.java b/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/Q00027_ChestCaughtWithABaitOfWind.java deleted file mode 100644 index 9a4ae01bcb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/Q00027_ChestCaughtWithABaitOfWind.java +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00027_ChestCaughtWithABaitOfWind; - -import quests.Q00050_LanoscosSpecialBait.Q00050_LanoscosSpecialBait; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Chest Caught With A Bait Of Wind (27)
- * Original Jython script by DooMIta. - * @author nonom - */ -public class Q00027_ChestCaughtWithABaitOfWind extends Quest -{ - // NPCs - private static final int LANOSCO = 31570; - private static final int SHALING = 31434; - // Items - private static final int BLUE_TREASURE_BOX = 6500; - private static final int STRANGE_BLUESPRINT = 7625; - private static final int BLACK_PEARL_RING = 880; - - public Q00027_ChestCaughtWithABaitOfWind() - { - super(27, Q00027_ChestCaughtWithABaitOfWind.class.getSimpleName(), "Chest Caught With A Bait Of Wind"); - addStartNpc(LANOSCO); - addTalkId(LANOSCO, SHALING); - registerQuestItems(STRANGE_BLUESPRINT); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - final QuestState st = getQuestState(player, false); - if (st == null) - { - return htmltext; - } - - switch (event) - { - case "31570-03.htm": - st.startQuest(); - break; - case "31570-05.htm": - if (st.isCond(1) && st.hasQuestItems(BLUE_TREASURE_BOX)) - { - htmltext = "31570-06.htm"; - st.setCond(2, true); - st.giveItems(STRANGE_BLUESPRINT, 1); - st.takeItems(BLUE_TREASURE_BOX, -1); - } - break; - case "31434-02.htm": - if (st.isCond(2) && st.hasQuestItems(STRANGE_BLUESPRINT)) - { - st.giveItems(BLACK_PEARL_RING, 1); - st.exitQuest(false, true); - htmltext = "31434-01.htm"; - } - break; - - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - case State.CREATED: - final QuestState qs = player.getQuestState(Q00050_LanoscosSpecialBait.class.getSimpleName()); - if (npc.getId() == LANOSCO) - { - htmltext = "31570-02.htm"; - if (qs != null) - { - htmltext = ((player.getLevel() >= 27) && qs.isCompleted()) ? "31570-01.htm" : htmltext; - } - } - break; - case State.STARTED: - switch (npc.getId()) - { - case LANOSCO: - if (st.isCond(1)) - { - if (st.hasQuestItems(BLUE_TREASURE_BOX)) - { - htmltext = "31570-04.htm"; - } - else - { - htmltext = "31570-05.htm"; - } - } - else - { - htmltext = "31570-07.htm"; - } - break; - case SHALING: - if (st.isCond(2)) - { - htmltext = "31434-00.htm"; - } - break; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31442-01.htm b/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31442-01.htm deleted file mode 100644 index d8814ff911..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31442-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Mineral Trader Kiki:
-If you're not here to buy minerals, why have you come?
-You must be either a soldier or a traveler.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31442-02.htm b/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31442-02.htm deleted file mode 100644 index 31a98cf81e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31442-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Mineral Trader Kiki:
-The letter!
-I had given up on it. The guild sent it a while back, but the ship ran aground and all was feared lost.
-Thank you.
-Don't let anyone else know about this! If word got out that Dwarves had lost it, it could damage our reputation as the most reliable race! Here is a gift for your trouble. As a Dwarf, I must show my gratitude for your kindness. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31442-03.htm b/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31442-03.htm deleted file mode 100644 index 6933d0bba6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31442-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mineral Trader Kiki:
-A letter for me? You must be mistaken. Dwarves never lose anything! You must have misunderstood.
-Now, if you're not going to buy anything, get lost! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-01.htm b/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-01.htm deleted file mode 100644 index 4e50443aa8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-01.htm +++ /dev/null @@ -1,7 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-Welcome back! You got the bait of chill before.
-You really did a number on those bandits! They're not all gone, however. Was the bait useful?
-It's not designed to catch fish, but has another, more valuable power!
-Did you catch anything? That bait was designed to catch something besides fish, by the way! If your fishing skill is level 12, you definitely should catch something with it! Have you found anything?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-02.htm b/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-02.htm deleted file mode 100644 index b37c6846c0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-Well, it's obvious you're not here to buy fishing gear! Have you ever been fishing? Try it once, you'll be hooked! Heh heh! I'm the man to see when you need bait!
-(This quest may only be undertaken by characters of level 36 or above who have completed O'Fulle's Special Bait quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-03.htm b/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-03.htm deleted file mode 100644 index b468c8b868..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-Well, it's obvious you're not here to buy fishing gear!
-Have you ever been fishing? Try it once, you'll be hooked!
-Heh heh! I'm the man to see when you need bait!
-(This quest may only be undertaken by characters of level 36 or above who have completed O'Fulle's Special Bait quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-04.htm b/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-04.htm deleted file mode 100644 index 453700ba20..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-Well, I hate to bring this up, but a while back, someone asked me to find a large yellow treasure box. The bait I gave you earlier was specifically designed to find it! Don't look at me like that! It wouldn't have worked if you had known!
-I hope it won't be too much trouble for you to find the large yellow treasure box. Use the bait of chill to find it. You'll find this bait works best when your fishing skill level is exactly 12. Someone may have already found it, so you should also ask around in the market. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-05.htm b/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-05.htm deleted file mode 100644 index 5643a9b8d5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-05.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-Did you find the large yellow treasure box If so, let me authenticate it! I'll open it to verify its contents.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-06.htm b/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-06.htm deleted file mode 100644 index fe1468aad1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-06.htm +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-Are you finished already? No? Please, find the large yellow treasure box! If you can't find it by fishing, maybe you can get it from someone in the market. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-07.htm b/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-07.htm deleted file mode 100644 index 9242ff5daa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-07.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-This seems to be the large yellow treasure box that my client lost! When I opened it, it contained a letter addressed to Miss Kiki.
-The Dwarves must've really hated to lose this one! They're always bragging that they've never lost an item! Take this chest to Mineral Trader Kiki. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-08.htm b/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-08.htm deleted file mode 100644 index 5204936cd4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-08.htm +++ /dev/null @@ -1,6 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-Didn't you say you had found the large yellow treasure box?
-I must authenticate its contents!
-If you opened it, it's useless!
-You'll need to bring another, unopened one. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-09.htm b/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-09.htm deleted file mode 100644 index 929da646a5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/31572-09.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-Why haven't you taken the chest to Miss Kiki yet? Take it to the Blacksmith Shop.
-The Dwarves lost it in a shipwreck at the mouth of the river while delivering it to her. This loss would totally disgrace the Dwarves! Best to keep it to yourself! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/Q00028_ChestCaughtWithABaitOfIcyAir.java b/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/Q00028_ChestCaughtWithABaitOfIcyAir.java deleted file mode 100644 index d7ec723b54..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/Q00028_ChestCaughtWithABaitOfIcyAir.java +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00028_ChestCaughtWithABaitOfIcyAir; - -import quests.Q00051_OFullesSpecialBait.Q00051_OFullesSpecialBait; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Chest Caught With A Bait Of Icy Air (28)
- * Original Jython script by Skeleton. - * @author nonom - */ -public class Q00028_ChestCaughtWithABaitOfIcyAir extends Quest -{ - // NPCs - private static final int OFULLE = 31572; - private static final int KIKI = 31442; - // Items - private static final int YELLOW_TREASURE_BOX = 6503; - private static final int KIKIS_LETTER = 7626; - private static final int ELVEN_RING = 881; - - public Q00028_ChestCaughtWithABaitOfIcyAir() - { - super(28, Q00028_ChestCaughtWithABaitOfIcyAir.class.getSimpleName(), "Chest Caught With A Bait Of Icy Air"); - addStartNpc(OFULLE); - addTalkId(OFULLE, KIKI); - registerQuestItems(KIKIS_LETTER); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - final QuestState st = getQuestState(player, false); - if (st == null) - { - return htmltext; - } - - switch (event) - { - case "31572-04.htm": - st.startQuest(); - break; - case "31572-08.htm": - if (st.isCond(1) && st.hasQuestItems(YELLOW_TREASURE_BOX)) - { - st.giveItems(KIKIS_LETTER, 1); - st.takeItems(YELLOW_TREASURE_BOX, -1); - st.setCond(2, true); - htmltext = "31572-07.htm"; - } - break; - case "31442-03.htm": - if (st.isCond(2) && st.hasQuestItems(KIKIS_LETTER)) - { - st.giveItems(ELVEN_RING, 1); - st.exitQuest(false, true); - htmltext = "31442-02.htm"; - } - break; - - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - final int npcId = npc.getId(); - switch (st.getState()) - { - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - case State.CREATED: - final QuestState qs = player.getQuestState(Q00051_OFullesSpecialBait.class.getSimpleName()); - if (npcId == OFULLE) - { - htmltext = "31572-02.htm"; - if (qs != null) - { - htmltext = ((player.getLevel() >= 36) && qs.isCompleted()) ? "31572-01.htm" : htmltext; - } - } - break; - case State.STARTED: - switch (npcId) - { - case OFULLE: - switch (st.getCond()) - { - case 1: - htmltext = "31572-06.htm"; - if (st.hasQuestItems(YELLOW_TREASURE_BOX)) - { - htmltext = "31572-05.htm"; - } - break; - case 2: - htmltext = "31572-09.htm"; - break; - } - break; - case KIKI: - if (st.isCond(2)) - { - htmltext = "31442-01.htm"; - } - break; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/30909-01.htm b/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/30909-01.htm deleted file mode 100644 index 27ae03d2aa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/30909-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Anabel:
-Neither love nor friendship will ever last between a mortal Human and an Elf.
-They fade with time, but memories, they'll last forever. What can I do for you?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/30909-02.htm b/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/30909-02.htm deleted file mode 100644 index 5954fb1053..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/30909-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Magister Anabel:
-Really? I asked Willie to find it for me... That bait has power beyond normal magic. It draws on the four elements of nature, earth, water, fire and air. The lost items find their own way in the water through the elements in the bait rather than trying to catch them with magic. I've studied magic for a hundred years, and I could never come up with that!
-Ah, Liesel. I miss her so much. We met long ago, and swore we would be friends forever. We made this Secret Box and buried it in the sand on Talking Island, where it was washed away by the waves. I am now 400 years old and she was Human, so only her ancestors are left. For this memory of my past, I offer you this gift, please take it. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/30909-03.htm b/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/30909-03.htm deleted file mode 100644 index 2cafc202ac..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/30909-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Magister Anabel:
-A box with our names? Ah Liesel, I miss her so. You don't have the box with you, but if you find it, please bring it to me. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-01.htm b/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-01.htm deleted file mode 100644 index 2613264c5e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Fishermen's Guild Member Willie:
-Did the bait of land that I gave you work?
-Mastering the spirits of land can be tricky, but it's worth the effort.
-You may find that you catch more than you bargained for! Actually, this bait isn't intended to catch fish at all! We've had a few complaints about that...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-02.htm b/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-02.htm deleted file mode 100644 index a5eb7495ba..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Willie:
-Well, it's obvious you're not here to buy fishing gear! Have you ever been fishing? Try it once, you'll be hooked! Heh heh! I'm the man to think of when you need bait!
-(This quest may only be undertaken by characters of level 48 or above who have completed Willie's Special Bait quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-04.htm b/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-04.htm deleted file mode 100644 index 58825f6516..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Willie:
-A while back someone was here asking about a small purple treasure box. The bait that I gave you before was designed to find it. The problem is that the bait occasionally catches other things, but it's the best hope you have of recovering the box. If you've found the box, please give it to me. If not, I must ask you to go and find it for me.
-I apologize for being untruthful earlier. The bait works better if the fisherman doesn't know about its properties. Bring me the small purple treasure box and I'll tell you who it belongs to! He lost it near the shore. Look for it there. Remember, your fishing skill must be level 16, and you must bring the box to me unopened. Someone else may have already found it, so ask around in the market. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-05.htm b/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-05.htm deleted file mode 100644 index b8c55ca835..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-05.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Willie:
-Certainly you're not finished already! I don't believe it! Have you already found the small purple treasure box? Let me see it!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-06.htm b/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-06.htm deleted file mode 100644 index 4024621b33..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-06.htm +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member Willie:
-Welcome back! You've already finished, eh? No? Well, I don't have all day, buddy! Bring me the small purple treasure box. I realize it's like looking for a needle in a haystack, but I'm counting on you! Maybe you should ask around in the market... Someone may have already found it! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-07.htm b/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-07.htm deleted file mode 100644 index c182f870dd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-07.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Willie:
-This seems to be the small purple treasure box that my client lost. When I opened it, I found this Small Glass Box.
-It has the names of Anabel and Liesel engraved on it. I don't know who Liesel is, but Anabel is my client. Anabel is a Magister in Heine Castle Town. She's kept the temple there for centuries. Please deliver this glass box to her. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-08.htm b/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-08.htm deleted file mode 100644 index bf8e479fe4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-08.htm +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member Willie:
-Didn't you say you found the small purple treasure box? I must authenticate its contents. If you opened it, it's useless! You'll need to bring another one. You don't seem to have the box. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-09.htm b/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-09.htm deleted file mode 100644 index 7fd0e48943..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/31574-09.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Willie:
-Why haven't you taken the glass box to Anabel in Heine Castle Town?
-She's been waiting for it an awful long time. I'm sure she's anxious to get it back! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/Q00029_ChestCaughtWithABaitOfEarth.java b/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/Q00029_ChestCaughtWithABaitOfEarth.java deleted file mode 100644 index a551a4aa77..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/Q00029_ChestCaughtWithABaitOfEarth.java +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00029_ChestCaughtWithABaitOfEarth; - -import quests.Q00052_WilliesSpecialBait.Q00052_WilliesSpecialBait; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Chest Caught With A Bait Of Earth (29)
- * Original Jython script by Skeleton. - * @author nonom - */ -public class Q00029_ChestCaughtWithABaitOfEarth extends Quest -{ - // NPCs - private static final int WILLIE = 31574; - private static final int ANABEL = 30909; - // Items - private static final int PURPLE_TREASURE_BOX = 6507; - private static final int SMALL_GLASS_BOX = 7627; - private static final int PLATED_LEATHER_GLOVES = 2455; - - public Q00029_ChestCaughtWithABaitOfEarth() - { - super(29, Q00029_ChestCaughtWithABaitOfEarth.class.getSimpleName(), "Chest Caught With A Bait Of Earth"); - addStartNpc(WILLIE); - addTalkId(WILLIE, ANABEL); - registerQuestItems(SMALL_GLASS_BOX); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - final QuestState st = getQuestState(player, false); - if (st == null) - { - return htmltext; - } - - switch (event) - { - case "31574-04.htm": - st.startQuest(); - break; - case "31574-08.htm": - if (st.isCond(1) && st.hasQuestItems(PURPLE_TREASURE_BOX)) - { - st.giveItems(SMALL_GLASS_BOX, 1); - st.takeItems(PURPLE_TREASURE_BOX, -1); - st.setCond(2, true); - htmltext = "31574-07.htm"; - } - break; - case "30909-03.htm": - if (st.isCond(2) && st.hasQuestItems(SMALL_GLASS_BOX)) - { - st.giveItems(PLATED_LEATHER_GLOVES, 1); - st.exitQuest(false, true); - htmltext = "30909-02.htm"; - } - break; - - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - final int npcId = npc.getId(); - switch (st.getState()) - { - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - case State.CREATED: - final QuestState qs = player.getQuestState(Q00052_WilliesSpecialBait.class.getSimpleName()); - if (npcId == WILLIE) - { - htmltext = "31574-02.htm"; - if (qs != null) - { - htmltext = ((player.getLevel() >= 48) && qs.isCompleted()) ? "31574-01.htm" : htmltext; - } - } - break; - case State.STARTED: - switch (npcId) - { - case WILLIE: - switch (st.getCond()) - { - case 1: - htmltext = "31574-06.htm"; - if (st.hasQuestItems(PURPLE_TREASURE_BOX)) - { - htmltext = "31574-05.htm"; - } - break; - case 2: - htmltext = "31574-09.htm"; - break; - } - break; - case ANABEL: - if (st.isCond(2)) - { - htmltext = "30909-01.htm"; - } - break; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/30629-01.htm b/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/30629-01.htm deleted file mode 100644 index acc67ba1e7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/30629-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Bard Rukal:
-Beautiful music is pure magic! Are you here to listen to songs of the old poets?
-No? You have something for me? The musical score signed by Rukal that credits me as the composer and lyricist? That's what I've been waiting for! Show it to me!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/30629-02.htm b/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/30629-02.htm deleted file mode 100644 index 79952981c9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/30629-02.htm +++ /dev/null @@ -1,3 +0,0 @@ -Bard Rukal:
-You say you've found the musical score I'm looking for, but you don't seem to have it with you. If you find a musical score with the name "Rukal" written on it, please bring it to me. It was composed by my late father. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/30629-03.htm b/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/30629-03.htm deleted file mode 100644 index 564628519b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/30629-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Bard Rukal:
-The Fishermen's Guild is truly a major patron of the arts! Whenever an object is lost, anywhere in the world, they manage to retrieve it! It's ironic that only those who know nothing about the lost objects can find them... As an Elf, it's hard to understand how Humans could have created such a technique!
-Could it be that they're catching all these objects by accident? It doesn't seem likely, does it? They must be the best detectives in the world! I'm so grateful to have recovered this lost score by my dead father. I don't dare to use his name when I compose! This is his musical score!
-Please accept this gift of thanks for recovering the musical score for me. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-00.htm b/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-00.htm deleted file mode 100644 index af93e2b7c4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-00.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Linneus:
-Fishing really brings life into perspective. You're not here to buy fishing gear, are you? Have you ever been fishing? Even the nobles of Aden enjoy it.
-(This quest may only be undertaken by characters of level 60 or above who have completed Linneus's Special Bait quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-01.htm b/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-01.htm deleted file mode 100644 index 294dab5301..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Linneus:
-Welcome back! You're the one that I gave the bait of flame, right? So... Did you catch anything with it? Other than fish, I mean? That was a very specialized bait you were using! You didn't happen to catch a box, did you?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-02.htm b/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-02.htm deleted file mode 100644 index 323e7df30a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Fishermen's Guild Member Linneus:
-There are some things more interesting than fish! A while back, someone came around looking for a red treasure box. Honestly, the bait I gave you earlier was designed to find it!
-Don't look at me like that! It wouldn't have worked if you would've known what the bait was for! So, did you find it? I'll tell you who my client is when you bring me the red treasure box. You must bring it to me unopened. Use the bait of flame to find it.
-Remember, your fishing skill must be level 20. Someone may already have found it, so ask around in the market first. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-03.htm b/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-03.htm deleted file mode 100644 index fc5df6a88d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Linneus:
-Wow! Did you already find the red treasure box? Let me see it! I need to verify that it's the one my client lost.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-03a.htm b/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-03a.htm deleted file mode 100644 index 45dcd879c3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-03a.htm +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member Linneus:
-You're back! Did you finish your assignment already? No? Please, go and find the Red Treasure Box. I know it's not easy, but I really must have it! Ask around, see if anyone's found it. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-04.htm b/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-04.htm deleted file mode 100644 index 43d6477f3d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member Linneus:
-I think this is my client's red treasure box. It contains the musical score that Mr. Rukal was looking for. It has his name listed as the composer and lyricist. If it is anything like his other works, it's wonderfully powerful music! Take it to Mr. Rukal in Dion Castle Town. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-04a.htm b/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-04a.htm deleted file mode 100644 index 1732fcbefc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-04a.htm +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member Linneus:
-You found the red treasure box? Well, I hope you didn't open it! Let me see... Hmm, this isn't the box I'm looking for. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-05.htm b/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-05.htm deleted file mode 100644 index e1df295e21..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/31577-05.htm +++ /dev/null @@ -1,3 +0,0 @@ - Fishermen's Guild Member Linneus:
-Why haven't you gone to see Mr. Rukal yet? Go to Dion Castle Town. Mortals such as us are unworthy to possess such beautiful music! It should be reserved for Swordsingers and Bladedancers! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/Q00030_ChestCaughtWithABaitOfFire.java b/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/Q00030_ChestCaughtWithABaitOfFire.java deleted file mode 100644 index 5051038117..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/Q00030_ChestCaughtWithABaitOfFire.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00030_ChestCaughtWithABaitOfFire; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Chest Caught With A Bait Of Fire (30)
- * Original Jython script by Ethernaly. - * @author nonom - */ -public class Q00030_ChestCaughtWithABaitOfFire extends Quest -{ - // NPCs - private static final int LINNAEUS = 31577; - private static final int RUKAL = 30629; - // Items - private static final int RED_TREASURE_BOX = 6511; - private static final int RUKAL_MUSICAL = 7628; - private static final int PROTECTION_NECKLACE = 916; - - public Q00030_ChestCaughtWithABaitOfFire() - { - super(30, Q00030_ChestCaughtWithABaitOfFire.class.getSimpleName(), "Chest Caught With A Bait Of Fire"); - addStartNpc(LINNAEUS); - addTalkId(LINNAEUS, RUKAL); - registerQuestItems(RUKAL_MUSICAL); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - final QuestState st = getQuestState(player, false); - if (st == null) - { - return htmltext; - } - - switch (event) - { - case "31577-02.htm": - st.startQuest(); - break; - case "31577-04a.htm": - if (st.isCond(1) && st.hasQuestItems(RED_TREASURE_BOX)) - { - st.giveItems(RUKAL_MUSICAL, 1); - st.takeItems(RED_TREASURE_BOX, -1); - st.setCond(2, true); - htmltext = "31577-04.htm"; - } - break; - case "30629-02.htm": - if (st.isCond(2) && st.hasQuestItems(RUKAL_MUSICAL)) - { - st.giveItems(PROTECTION_NECKLACE, 1); - st.exitQuest(false, true); - htmltext = "30629-03.htm"; - } - break; - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - final int npcId = npc.getId(); - - switch (st.getState()) - { - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - case State.CREATED: - if (npcId == LINNAEUS) - { - htmltext = (player.getLevel() >= 61) ? "31577-01.htm" : "31577-00.htm"; - } - break; - case State.STARTED: - switch (npcId) - { - case LINNAEUS: - switch (st.getCond()) - { - case 1: - htmltext = "31577-03a.htm"; - if (st.hasQuestItems(RED_TREASURE_BOX)) - { - htmltext = "31577-03.htm"; - } - break; - case 2: - htmltext = "31577-05.htm"; - break; - } - break; - case RUKAL: - if (st.isCond(2)) - { - htmltext = "30629-01.htm"; - } - break; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-01.htm b/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-01.htm deleted file mode 100644 index 4d2f35bff8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Fishermen's Guild Member Lanosco:
-Some time ago, I caught a few strange boxes while fishing. I thought it was strange to catch so many things that weren't fish! I quickly learned that some people will pay very well for these boxes! I think they're intrigued by the mystery of what's inside...
-You must use a special bait to recover items from the water. This special bait uses the magical attraction of elements to change the polarity of sunken items and raise them to the surface! I mention this because I think you may be good at it!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-02.html b/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-02.html deleted file mode 100644 index b44046b3a9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-02.html +++ /dev/null @@ -1,5 +0,0 @@ -Fishermen's Guild Member Lanosco:
-Some time ago, I caught a few strange boxes while fishing. I thought it was strange to catch so many things that weren't fish! Most fishermen would've just thrown them back, but I know better! Some people will pay well for such things! They must be intrigued by not knowing what's inside... It could be something very expensive or completely worthless!
-I have a knack for finding these boxes, but I can't show you how to do it yet.
-(This quest may only be undertaken by a character of level 27 or above with a fishing skill of level 9.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-03.htm b/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-03.htm deleted file mode 100644 index 8a75cd6255..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Lanosco:
-The power to attract items by switching their polarity is present in all four elements. Wind, ice, land and flame each have unique attractions to submerged items. Me and some of my buddies here at the guild have learned to make bait that uses these attractions to retrieve lost items.
-To use the power of wind, go to Windy Hill, far to the north of Gludin. You'll find some low-level wind spirits there known as singing winds. Collect 100 essences of wind and bring them to me. I'll make an special bait for you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-04.html b/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-04.html deleted file mode 100644 index 445683f032..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Fishermen's Guild Member Lanosco:
-Thanks for your help. I can't get around to get the materials I need like I used to... Now I'll make the bait of wind for you. I use the repulsive power between the elements of water and wind. Just as water and air don't mix, things that are underwater begin to float.
-Now, give me the 100 essences of wind!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-05.html b/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-05.html deleted file mode 100644 index 095556a649..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member Lanosco:
-You haven't brought the materials I need. You can get Essence of Wind from the singing winds on Windy Hill, far to the north of Gludin. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-06.htm b/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-06.htm deleted file mode 100644 index c7493ed2d0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-06.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Lanosco:
-You've obtained all of the Essence of Wind I need to make the bait. Please accept this as a token of my appreciation. This will increase your chances of finding lost treasure, but how often you actually land your catch will depend on your skill.
-Your fishing skill should be exactly level 9 to obtain the optimum performance from this bait. If you're not level 9, you might consider giving to bait to someone who is. Remember, bring anything you recover to me unopened! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-07.html b/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-07.html deleted file mode 100644 index 9600e2c55e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/31570-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member Lanosco:
-You didn't bring enough ingredients! This isn't enough to make bait! You must bring more Essence of Wind! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java b/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java deleted file mode 100644 index e38d77f1cd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00050_LanoscosSpecialBait; - -import com.l2jserver.Config; -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Lanosco's Special Bait (50)
- * Original Jython script by Kilkenny. - * @author nonom - */ -public class Q00050_LanoscosSpecialBait extends Quest -{ - // NPCs - private static final int LANOSCO = 31570; - private static final int SINGING_WIND = 21026; - // Items - private static final int ESSENCE_OF_WIND = 7621; - private static final int WIND_FISHING_LURE = 7610; - - public Q00050_LanoscosSpecialBait() - { - super(50, Q00050_LanoscosSpecialBait.class.getSimpleName(), "Lanosco's Special Bait"); - addStartNpc(LANOSCO); - addTalkId(LANOSCO); - addKillId(SINGING_WIND); - registerQuestItems(ESSENCE_OF_WIND); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - String htmltext = event; - - switch (event) - { - case "31570-03.htm": - st.startQuest(); - break; - case "31570-07.html": - if ((st.isCond(2)) && (st.getQuestItemsCount(ESSENCE_OF_WIND) >= 100)) - { - htmltext = "31570-06.htm"; - st.giveItems(WIND_FISHING_LURE, 4); - st.exitQuest(false, true); - } - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final L2PcInstance partyMember = getRandomPartyMember(player, 1); - if (partyMember == null) - { - return null; - } - - final QuestState st = getQuestState(partyMember, false); - - if (st.getQuestItemsCount(ESSENCE_OF_WIND) < 100) - { - float chance = 33 * Config.RATE_QUEST_DROP; - if (getRandom(100) < chance) - { - st.rewardItems(ESSENCE_OF_WIND, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - - if (st.getQuestItemsCount(ESSENCE_OF_WIND) >= 100) - { - st.setCond(2, true); - - } - - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - case State.CREATED: - htmltext = (player.getLevel() >= 27) ? "31570-01.htm" : "31570-02.html"; - break; - case State.STARTED: - htmltext = (st.isCond(1)) ? "31570-05.html" : "31570-04.html"; - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-01.htm b/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-01.htm deleted file mode 100644 index ad5392e327..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-I may look chipper, but I feel terrible! Recently a delivery of ingredients for our bait of chill was hijacked by fettered souls at the Death Pass! It was several years worth of supplies! A devastating loss!
-Are you here for bait? Sorry, I couldn't make any if I wanted to. What can I do?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-02.html b/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-02.html deleted file mode 100644 index ff27bf85b7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-A while back, I ordered some special seeds from Goddard that are designed for cold weather. The flowers of the plants are used to make a very special bait! They're called ice snow flowers because they bloom in the dead of winter. All of my order was stolen by bandits, and with the chaos left after the war, I haven't been able to order any more! But I'm just a poor fisherman, and no better equipped to deal with them than you are!
-(This quest may only be undertaken by characters of level 36 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-03.htm b/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-03.htm deleted file mode 100644 index bd548988fb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-A while back, I ordered some special seeds from Goddard that are designed for cold weather. The flowers of the plants are used to make bait of chill. My entire order was stolen by fettered souls! In the chaos left after the war, I haven't been able to order any more. I'm just a poor fisherman, and not equipped to deal with those ruffians!
-Would you help me? Bring me 100 of the lost bait materials from the fettered souls at the Death Pass. I'll make bait of chill for you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-04.html b/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-04.html deleted file mode 100644 index be50986220..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-Did you recover my stolen bait materials? Awesome! Please accept this bait of chill from my inventory as a token of my gratitude! Please give me the 100 lost bait materials that you found!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-05.html b/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-05.html deleted file mode 100644 index dced9bfd73..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-You haven't recovered the lost bait materials from the fettered souls at the Death Pass in northern Giran yet? Go on! They're no use to those beasts, anyway! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-06.htm b/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-06.htm deleted file mode 100644 index 422f955a55..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-06.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-Well, you could've brought more... Oh well, take this bait of chill. It will increase your chance of finding lost items in the water. No good at all for catching fish, though! You won't always land your catch with this bait.
-It works best if your fishing skill is exactly level 12. If it's not, you should consider giving it to someone who can use it more effectively. Remember, bring anything you recover to me unopened! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-07.html b/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-07.html deleted file mode 100644 index 32dc905939..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/31572-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member O'Fulle:
-You say that you brought 100 bait materials, but you don't seem to have brought enough for me to make bait! Honestly, I'm more interested in getting rid of the bandits than getting the bait materials back! Get busy, will you? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java b/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java deleted file mode 100644 index 481e2ed432..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00051_OFullesSpecialBait; - -import com.l2jserver.Config; -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * O'Fulle's Special Bait (51)
- * Original Jython script by Kilkenny. - * @author nonom - */ -public class Q00051_OFullesSpecialBait extends Quest -{ - // NPCs - private static final int OFULLE = 31572; - private static final int FETTERED_SOUL = 20552; - // Items - private static final int LOST_BAIT = 7622; - private static final int ICY_AIR_LURE = 7611; - - public Q00051_OFullesSpecialBait() - { - super(51, Q00051_OFullesSpecialBait.class.getSimpleName(), "O'Fulle's Special Bait"); - addStartNpc(OFULLE); - addTalkId(OFULLE); - addKillId(FETTERED_SOUL); - registerQuestItems(LOST_BAIT); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - String htmltext = event; - switch (event) - { - case "31572-03.htm": - st.startQuest(); - break; - case "31572-07.html": - if ((st.isCond(2)) && (st.getQuestItemsCount(LOST_BAIT) >= 100)) - { - htmltext = "31572-06.htm"; - st.giveItems(ICY_AIR_LURE, 4); - st.exitQuest(false, true); - } - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final L2PcInstance partyMember = getRandomPartyMember(player, 1); - if (partyMember == null) - { - return null; - } - - final QuestState st = getQuestState(partyMember, false); - if (st.getQuestItemsCount(LOST_BAIT) < 100) - { - float chance = 33 * Config.RATE_QUEST_DROP; - if (getRandom(100) < chance) - { - st.rewardItems(LOST_BAIT, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - - if (st.getQuestItemsCount(LOST_BAIT) >= 100) - { - st.setCond(2, true); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - case State.CREATED: - htmltext = (player.getLevel() >= 36) ? "31572-01.htm" : "31572-02.html"; - break; - case State.STARTED: - htmltext = (st.isCond(1)) ? "31572-05.html" : "31572-04.html"; - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-01.htm b/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-01.htm deleted file mode 100644 index f7d17fdd13..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Fishermen's Guild Member Willie:
-Hi, traveler! You look like an experienced fisherman! You know, if you want to catch something really special, you've got to use special bait!
-I think you're ready for the big time, my friend! I suggest you try this bait made of Tarlk basilisk's eyes! It pulls the most incredible things from the deep! It's one of the most powerful of my products! It uses the power of the spirit of the land! Will you bring the materials I need to make it for you?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-02.html b/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-02.html deleted file mode 100644 index fe92e35757..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Willie:
-Hi, traveler! Have you ever been fishing? You'll find it much more relaxing than the life of a soldier! Why don't you come back and let me teach you to fish when you have the time. It won't be free, but your fishing skill should be exactly level 16.
-(This quest may only be undertaken by characters of level 48 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-03.htm b/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-03.htm deleted file mode 100644 index 2b9abe2d0a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Willie:
-The powers of attraction of elements lie within the elements themselves. The elements are wind, ice, land and flame. Me and some of my buddies at the guild have figured out how to make bait from the elements! I use the power of land.
-To use it, you must travel all the way to the Forest of Outlaws in Oren. There you'll find Tarlk basilisks, a middle-level spirits of land. Bring me 100 Tarlk basilisks' eyes. I'll make a very special bait for you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-04.html b/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-04.html deleted file mode 100644 index 155ec48b50..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Fishermen's Guild Member Willie:
-Good job, my friend! You brought everything I need to make the bait! You're really getting a good deal! Well, our guild wants to build our customer base, so we work for free! OK, give me the eyes...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-05.html b/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-05.html deleted file mode 100644 index 08663332a8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member Willie:
-I need 100 Tarlk basilisk's eyes to make the bait. I'm working for free, so the least you can do it bring me the materials I need! Go to the Forest of Outlaws, slaughter the Tarlk basilisks and bring me their eyes. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-06.htm b/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-06.htm deleted file mode 100644 index c63fd97665..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-06.htm +++ /dev/null @@ -1,5 +0,0 @@ -Fishermen's Guild Member Willie:
-Thanks for the eyes. Take this bait of land. It finds more valuable items than baits of wind or chill.
-Remember, this bait only works when your fishing level is exactly 16. Whether or not you land your catch will depend on your skill.
-Remember, if you catch anything besides fish, bring it to me unopened! Don't even bother bringing me opened boxes. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-07.html b/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-07.html deleted file mode 100644 index f8f1b9db8a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/31574-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Fishermen's Guild Member Willie:
-There aren't 100 Tarlk basilisk's eyes here. This isn't enough to make bait! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java b/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java deleted file mode 100644 index 482325fe3a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00052_WilliesSpecialBait; - -import com.l2jserver.Config; -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Willie's Special Bait (52)
- * Original Jython script by Kilkenny. - * @author nonom - */ -public class Q00052_WilliesSpecialBait extends Quest -{ - // NPCs - private static final int WILLIE = 31574; - private static final int TARLK_BASILISK = 20573; - // Items - private static final int TARLK_EYE = 7623; - private static final int EARTH_FISHING_LURE = 7612; - - public Q00052_WilliesSpecialBait() - { - super(52, Q00052_WilliesSpecialBait.class.getSimpleName(), "Willie's Special Bait"); - addStartNpc(WILLIE); - addTalkId(WILLIE); - addKillId(TARLK_BASILISK); - registerQuestItems(TARLK_EYE); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - String htmltext = event; - switch (event) - { - case "31574-03.htm": - st.startQuest(); - break; - case "31574-07.html": - if (st.isCond(2) && (st.getQuestItemsCount(TARLK_EYE) >= 100)) - { - htmltext = "31574-06.htm"; - st.giveItems(EARTH_FISHING_LURE, 4); - st.exitQuest(false, true); - } - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final L2PcInstance partyMember = getRandomPartyMember(player, 1); - if (partyMember == null) - { - return null; - } - - final QuestState st = getQuestState(partyMember, false); - if (st.getQuestItemsCount(TARLK_EYE) < 100) - { - float chance = 33 * Config.RATE_QUEST_DROP; - if (getRandom(100) < chance) - { - st.rewardItems(TARLK_EYE, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - - if (st.getQuestItemsCount(TARLK_EYE) >= 100) - { - st.setCond(2, true); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - case State.CREATED: - htmltext = (player.getLevel() >= 48) ? "31574-01.htm" : "31574-02.html"; - break; - case State.STARTED: - htmltext = (st.isCond(1)) ? "31574-05.html" : "31574-04.html"; - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java b/trunk/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java index 2648acf987..0a15141c06 100644 --- a/trunk/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java +++ b/trunk/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java @@ -21,6 +21,7 @@ package quests.Q00114_ResurrectionOfAnOldManager; import quests.Q00121_PavelTheGiant.Q00121_PavelTheGiant; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -30,7 +31,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -194,7 +194,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest if ((golem == null) || ((golem != null) && golem.isDead())) { golem = (L2Attackable) addSpawn(GUARDIAN, 96977, -110625, -3280, 0, false, 0); - golem.broadcastPacket(new NpcSay(golem.getObjectId(), Say2.NPC_ALL, golem.getId(), NpcStringId.YOU_S1_YOU_ATTACKED_WENDY_PREPARE_TO_DIE).addStringParameter(player.getName())); + golem.broadcastPacket(new NpcSay(golem.getObjectId(), ChatType.NPC_GENERAL, golem.getId(), NpcStringId.YOU_S1_YOU_ATTACKED_WENDY_PREPARE_TO_DIE).addStringParameter(player.getName())); golem.setRunning(); golem.addDamageHate(player, 0, 999); golem.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); @@ -267,7 +267,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest // Quest timer case "golem_despawn": st.unset("spawned"); - golem.broadcastPacket(new NpcSay(golem.getObjectId(), Say2.NPC_ALL, golem.getId(), NpcStringId.S1_YOUR_ENEMY_WAS_DRIVEN_OUT_I_WILL_NOW_WITHDRAW_AND_AWAIT_YOUR_NEXT_COMMAND).addStringParameter(player.getName())); + golem.broadcastPacket(new NpcSay(golem.getObjectId(), ChatType.NPC_GENERAL, golem.getId(), NpcStringId.S1_YOUR_ENEMY_WAS_DRIVEN_OUT_I_WILL_NOW_WITHDRAW_AND_AWAIT_YOUR_NEXT_COMMAND).addStringParameter(player.getName())); golem.deleteMe(); golem = null; htmltext = null; @@ -329,7 +329,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest if ((st != null) && st.isCond(10) && (st.getInt("spawned") == 1)) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.THIS_ENEMY_IS_FAR_TOO_POWERFUL_FOR_ME_TO_FIGHT_I_MUST_WITHDRAW)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.THIS_ENEMY_IS_FAR_TOO_POWERFUL_FOR_ME_TO_FIGHT_I_MUST_WITHDRAW)); st.setCond(11, true); st.unset("spawned"); cancelQuestTimers("golem_despawn"); diff --git a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-01.htm b/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-01.htm deleted file mode 100644 index cf180377fa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Matras:
-You know I am keenly interested in the magnificent structure called the Steel Citadel. I have been researching it, but strangely I have found no complete blueprints. It seems that it was built independently by a number of different parties... I am still searching for additional information, but without success.
-Would you be willing to help me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-02.htm b/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-02.htm deleted file mode 100644 index 95f80d1930..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Matras:
-I am very interested in this magnificent structure called the Steel Citadel, so I have been researching it. Ah, but I think you are too inexperienced to help me. Perhaps you will come again some day.
-(Only characters level 76 and higher may embark on this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-03.htm b/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-03.htm deleted file mode 100644 index f7d4bb69ff..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Matras:
-Actually, I need a blueprint of the structure of the tower of the Steel Citadel. I have learned who possesses the information I need, but I can't get it on my own. Perhaps...someone like you could go into the tower, find that blueprint and bring it to me. Apparently the Demon Prince and Ranku in the Steel Citadel have access to the blueprint I need. Please bring the blueprint to me, and I'll reward you very well.
-Oh, one last thing: take these raw ore. They might look rough, but they function just like other ore. I think they will help you in this task. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-03a.htm b/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-03a.htm deleted file mode 100644 index 3e6e2efb2c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-03a.htm +++ /dev/null @@ -1,3 +0,0 @@ -Matras:
-Actually, I need a blueprint of the structure of the tower of the Steel Citadel. I have learned who possesses the information I need, but I can't get it on my own. Perhaps...someone like you could go into the tower, find that blueprint and bring it to me. Apparently the Demon Prince and Ranku in the Steel Citadel have access to the blueprint I need. Please bring the blueprint to me, and I'll reward you very well. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-04.htm b/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-04.htm deleted file mode 100644 index 383e6276d6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -Matras:
-Have you brought the blueprints? No? Then go to the Tower and get the Tower blueprints from Demon Prince and Ranku. I will reward you for your risk! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-05.htm b/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-05.htm deleted file mode 100644 index 69ac32c185..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-05.htm +++ /dev/null @@ -1,4 +0,0 @@ -Matras:
-Ah, you have brought the blueprints I needed!
-Thank you! Now my research may progress as I had hoped. Ah, but let me just check to ensure that it is authentic... In my line of work, forgeries occur far too often. If it is the real item, I will reward you as I promised. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-06.htm b/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-06.htm deleted file mode 100644 index d72a5d177e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-06.htm +++ /dev/null @@ -1,4 +0,0 @@ -Matras:
-Excellent -- the blueprints are authentic! Many thanks. I have already discovered several items of interest, including a secret passage...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-07.htm b/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-07.htm deleted file mode 100644 index e93ccb1261..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/32245-07.htm +++ /dev/null @@ -1,3 +0,0 @@ -Matras:
-I am going to tell you this secret because I only found out about it thanks to your help. Apparently, there is a passage that leads directly to the second tower of the Steel Citadel. I found it easily enough, and I think you will, too. In fact, if you want to use that passage, go speak with Deltuva. Since you helped me by obtaining the blueprint, I know he will help you. May Maphr protect you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/Q00132_MatrasCuriosity.java b/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/Q00132_MatrasCuriosity.java deleted file mode 100644 index 91a45bd76f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/Q00132_MatrasCuriosity.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00132_MatrasCuriosity; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Matras' Curiosity (132) - * @author GKR, Gladicek - */ -public final class Q00132_MatrasCuriosity extends Quest -{ - // NPCs - private static final int MATRAS = 32245; - private static final int DEMON_PRINCE = 25540; - private static final int RANKU = 25542; - // Items - private static final int FIRE = 10521; - private static final int WATER = 10522; - private static final int EARTH = 10523; - private static final int WIND = 10524; - private static final int DARKNESS = 10525; - private static final int DIVINITY = 10526; - private static final int BLUEPRINT_RANKU = 9800; - private static final int BLUEPRINT_PRINCE = 9801; - - public Q00132_MatrasCuriosity() - { - super(132, Q00132_MatrasCuriosity.class.getSimpleName(), "Matras' Curiosity"); - addStartNpc(MATRAS); - addTalkId(MATRAS); - addKillId(RANKU, DEMON_PRINCE); - registerQuestItems(BLUEPRINT_RANKU, BLUEPRINT_PRINCE); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - String htmltext = event; - - if (event.equalsIgnoreCase("32245-03.htm") && (player.getLevel() >= 76) && !st.isCompleted()) - { - if (st.isCreated()) - { - st.startQuest(); - st.set("rewarded_prince", "1"); - st.set("rewarded_ranku", "1"); - } - else - { - htmltext = "32245-03a.htm"; - } - } - else if (event.equalsIgnoreCase("32245-07.htm") && st.isCond(3) && !st.isCompleted()) - { - st.giveAdena(65884, true); - st.addExpAndSp(50541, 5094); - st.giveItems(FIRE, 1); - st.giveItems(WATER, 1); - st.giveItems(EARTH, 1); - st.giveItems(WIND, 1); - st.giveItems(DARKNESS, 1); - st.giveItems(DIVINITY, 1); - st.exitQuest(false, true); - } - return htmltext; - } - - @Override - public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - L2PcInstance pl = null; - switch (npc.getId()) - { - case DEMON_PRINCE: - pl = getRandomPartyMember(player, "rewarded_prince", "1"); - if (pl != null) - { - final QuestState st = getQuestState(pl, false); - st.giveItems(BLUEPRINT_PRINCE, 1); - st.set("rewarded_prince", "2"); - - if (st.hasQuestItems(BLUEPRINT_RANKU)) - { - st.setCond(2, true); - } - else - { - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - break; - case RANKU: - pl = getRandomPartyMember(player, "rewarded_ranku", "1"); - if (pl != null) - { - final QuestState st = getQuestState(pl, false); - st.giveItems(BLUEPRINT_RANKU, 1); - st.set("rewarded_ranku", "2"); - - if (st.hasQuestItems(BLUEPRINT_PRINCE)) - { - st.setCond(2, true); - } - else - { - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - break; - } - return null; - } - - @Override - public final String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - if (st.isCreated()) - { - htmltext = (player.getLevel() >= 76) ? "32245-01.htm" : "32245-02.htm"; - } - else if (st.isCompleted()) - { - htmltext = getAlreadyCompletedMsg(player); - } - else if (st.isStarted()) - { - switch (st.getCond()) - { - case 1: - case 2: - if (st.hasQuestItems(BLUEPRINT_RANKU) && st.hasQuestItems(BLUEPRINT_PRINCE)) - { - st.takeItems(BLUEPRINT_RANKU, -1); - st.takeItems(BLUEPRINT_PRINCE, -1); - st.setCond(3, true); - htmltext = "32245-05.htm"; - } - else - { - htmltext = "32245-04.htm"; - } - - break; - case 3: - htmltext = "32245-06.htm"; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/Q00147_PathtoBecominganEliteMercenary.java b/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/Q00147_PathtoBecominganEliteMercenary.java deleted file mode 100644 index 64bff69e0d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/Q00147_PathtoBecominganEliteMercenary.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00147_PathtoBecominganEliteMercenary; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Path to Becoming an Elite Mercenary (147) - * @author Gnacik - * @version 2010-09-30 Based on official server Franz - */ -public class Q00147_PathtoBecominganEliteMercenary extends Quest -{ - // NPCs - private static final int[] MERC = - { - 36481, - 36482, - 36483, - 36484, - 36485, - 36486, - 36487, - 36488, - 36489 - }; - // Items - private static final int ORDINARY_CERTIFICATE = 13766; - private static final int ELITE_CERTIFICATE = 13767; - - public Q00147_PathtoBecominganEliteMercenary() - { - super(147, Q00147_PathtoBecominganEliteMercenary.class.getSimpleName(), "Path to Becoming an Elite Mercenary"); - addStartNpc(MERC); - addTalkId(MERC); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - final QuestState st = getQuestState(player, false); - - if (st == null) - { - return htmltext; - } - - if (event.equalsIgnoreCase("elite-02.htm")) - { - if (st.hasQuestItems(ORDINARY_CERTIFICATE)) - { - return "elite-02a.htm"; - } - st.giveItems(ORDINARY_CERTIFICATE, 1); - } - else if (event.equalsIgnoreCase("elite-04.htm")) - { - st.startQuest(); - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - if ((player.getClan() != null) && (player.getClan().getCastleId() > 0)) - { - htmltext = "castle.htm"; - } - else - { - htmltext = "elite-01.htm"; - } - break; - case State.STARTED: - if (st.getCond() < 4) - { - htmltext = "elite-05.htm"; - } - else if (st.isCond(4)) - { - st.takeItems(ORDINARY_CERTIFICATE, -1); - st.giveItems(ELITE_CERTIFICATE, 1); - st.exitQuest(false); - htmltext = "elite-06.htm"; - } - break; - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/castle.htm b/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/castle.htm deleted file mode 100644 index 6ec8693b07..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/castle.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Captain:
-Did you come here to spy on us? Leave at once!

-(Members of a clan that owns a castle cannot undertake this quest) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-01.htm b/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-01.htm deleted file mode 100644 index 99bc381638..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Captain:
-Did you come see me in order to become a mercenary?

- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-02.htm b/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-02.htm deleted file mode 100644 index 7a5bec89b8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Mercenary Captain:
-Here is a proof of your mercenary status. Everybody starts as a general mercenary.
-If you want to advance beyond that, you must prove your capabilities. Interested?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-02a.htm b/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-02a.htm deleted file mode 100644 index e3447d6880..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-02a.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Captain:
-Why are you here?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-03.htm b/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-03.htm deleted file mode 100644 index 0ccca682b3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Mercenary Captain:
-There is a way.
-First, you must advance to a higher level: Elite Mercenary.
-An Elite Mercenary demonstrates superior bravery and responsibility. If you want to become one, you must prove that you possess those qualities.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-04.htm b/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-04.htm deleted file mode 100644 index edb963800f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Captain:
-Very well. If your will is strong, join our Territory War and slay at least 10 enemies, then destroy their territory catapult. If you can do that, I'll approve you.
-If you can't, don't bother me any more with talk of becoming an Elite Mercenary. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-05.htm b/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-05.htm deleted file mode 100644 index 07e014dc5c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-05.htm +++ /dev/null @@ -1,3 +0,0 @@ -Mercenary Captain:
-You remember what I asked you? If you want to be an Elite Mercenary, slay at least 10 enemies and destroy the enemy's territory catapult. Any questions? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-06.htm b/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-06.htm deleted file mode 100644 index a46857af5b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/elite-06.htm +++ /dev/null @@ -1,3 +0,0 @@ -Mercenary Captain:
-Here is a proof of your Elite mercenary status. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/Q00148_PathtoBecominganExaltedMercenary.java b/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/Q00148_PathtoBecominganExaltedMercenary.java deleted file mode 100644 index 5910066523..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/Q00148_PathtoBecominganExaltedMercenary.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00148_PathtoBecominganExaltedMercenary; - -import quests.Q00147_PathtoBecominganEliteMercenary.Q00147_PathtoBecominganEliteMercenary; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Path to Becoming an Exalted Mercenary (148) - * @author Gnacik - * @version 2010-09-30 Based on official server Franz - */ -public class Q00148_PathtoBecominganExaltedMercenary extends Quest -{ - // NPCs - private static final int[] MERC = - { - 36481, - 36482, - 36483, - 36484, - 36485, - 36486, - 36487, - 36488, - 36489 - }; - // Items - private static final int ELITE_CERTIFICATE = 13767; - private static final int TOP_ELITE_CERTIFICATE = 13768; - - public Q00148_PathtoBecominganExaltedMercenary() - { - super(148, Q00148_PathtoBecominganExaltedMercenary.class.getSimpleName(), "Path to Becoming an Exalted Mercenary"); - addStartNpc(MERC); - addTalkId(MERC); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - final QuestState st = getQuestState(player, false); - if (st == null) - { - return htmltext; - } - - if (event.equalsIgnoreCase("exalted-00b.htm")) - { - st.giveItems(ELITE_CERTIFICATE, 1); - } - else if (event.equalsIgnoreCase("exalted-03.htm")) - { - st.startQuest(); - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - QuestState _prev = player.getQuestState(Q00147_PathtoBecominganEliteMercenary.class.getSimpleName()); - if ((player.getClan() != null) && (player.getClan().getCastleId() > 0)) - { - htmltext = "castle.htm"; - } - else if (st.hasQuestItems(ELITE_CERTIFICATE)) - { - htmltext = "exalted-01.htm"; - } - else - { - if ((_prev != null) && _prev.isCompleted()) - { - htmltext = "exalted-00a.htm"; - } - else - { - htmltext = "exalted-00.htm"; - } - } - break; - case State.STARTED: - if (st.getCond() < 4) - { - htmltext = "exalted-04.htm"; - } - else if (st.isCond(4)) - { - st.takeItems(ELITE_CERTIFICATE, -1); - st.giveItems(TOP_ELITE_CERTIFICATE, 1); - st.exitQuest(false); - htmltext = "exalted-05.htm"; - } - break; - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/castle.htm b/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/castle.htm deleted file mode 100644 index 6ec8693b07..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/castle.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Captain:
-Did you come here to spy on us? Leave at once!

-(Members of a clan that owns a castle cannot undertake this quest) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-00.htm b/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-00.htm deleted file mode 100644 index 8d9218771f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-00.htm +++ /dev/null @@ -1,3 +0,0 @@ -Mercenary Captain:
-You must have a thick skin to come to me! You know you need a Mercenary Certificate in order to work as a mercenary, right? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-00a.htm b/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-00a.htm deleted file mode 100644 index 9ed76583f3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-00a.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Captain:
-You must have a thick skin to come to me! You know you need a Mercenary Certificate in order to work as a mercenary, right?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-00b.htm b/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-00b.htm deleted file mode 100644 index 500c77b374..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-00b.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Captain:
-Here you go. Don't lose it again! Do you think you can become an Exalted Mercenary if you're that careless?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-01.htm b/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-01.htm deleted file mode 100644 index 65e5012a1e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Captain:
-So you came to sign on with us, eh?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-02.htm b/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-02.htm deleted file mode 100644 index 9a6f78ce4f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Mercenary Captain:
-An Exalted Mercenary, eh?
-Do you really think it's that easy? An Exalted Mercenary must demonstrate superior bravery and capability far surpassing those of an ordinary mercenary.
-Before you can be certified as an Exalted Mercenary, you must prove those qualities.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-03.htm b/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-03.htm deleted file mode 100644 index a148c5263f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Captain:
-Very well. If your will is strong, join our Territory War and slay at least 30 enemies, then destroy 2 of their territory catapults. If you can do that, I'll approve you.
-If you can't, don't bother me any more with talk of becoming an Exalted Mercenary. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-04.htm b/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-04.htm deleted file mode 100644 index e048ce3970..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -Mercenary Captain:
-You remember what I asked you? If you want to be an Elite Mercenary, slay at least 30 enemies and destroy 2 of the enemy's territory catapults. Any questions? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-05.htm b/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-05.htm deleted file mode 100644 index a46857af5b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/exalted-05.htm +++ /dev/null @@ -1,3 +0,0 @@ -Mercenary Captain:
-Here is a proof of your Elite mercenary status. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-01.html b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-01.html deleted file mode 100644 index d9a7d3dfbc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-01.html +++ /dev/null @@ -1,3 +0,0 @@ -Rapidus:
-I salute your patience and effort. I hope you set an ever bigger goal for yourself in the future. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-02.html b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-02.html deleted file mode 100644 index 20506f2ecc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Rapidus:
-Your ambition exceeds your ability. Come back after your skills have increased.
-(Only characters who are level 80 or higher may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-03.html b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-03.html deleted file mode 100644 index c153c2a303..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Rapidus:
-The winning of fame does not come without effort, even pain. Are you prepared?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-04.html b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-04.html deleted file mode 100644 index 922050959e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Rapidus:
-Good! But I will test your will. First, participate in a territory battle and defeat at least 9 enemies. They must be worthy of your attention, or I will not count them toward your tally.
-(You must kill PCs who are level 61 or higher.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-05.html b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-05.html deleted file mode 100644 index c5e40f9621..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Rapidus:
-Distraction is one of a warrior's greatest foes. Focus your attention and your will completely on the battle. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-06.html b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-06.html deleted file mode 100644 index 2fa350495e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Rapidus:
-You want fame, but cannot even accomplish such a small task? Do not disappoint me. You must defeat 9 enemies in a territory battle. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-07.html b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-07.html deleted file mode 100644 index 5d05277a20..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Rapidus:
-Ah, you passed the test! But perhaps this was too easy... I will give you another test. This time, kill 18 enemies in a territory battle! As before, slay only those worthy of your attention.
-(You must kill PCs who are level 61 or higher.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-08.html b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-08.html deleted file mode 100644 index 84a5a0af65..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Rapidus:
-You want a reward, but cannot even accomplish such a small task? Do not disappoint me. You must defeat 18 enemies in a territory battle. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-09.html b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-09.html deleted file mode 100644 index 99b8deda5f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-09.html +++ /dev/null @@ -1,4 +0,0 @@ -Rapidus:
-Now I will give you third test. This time kill 27 enemies in a territory battle! As before, slay only those worthy of your attention.
-(You must kill only PCs who are level 61 or higher.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-10.html b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-10.html deleted file mode 100644 index 49e944e05b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Rapidus:
-You want a reward, but cannot even accomplish the task I assigned you? Do not disappoint me. You must defeat 27 enemies in a territory battle. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-11.html b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-11.html deleted file mode 100644 index b4c1998d09..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-11.html +++ /dev/null @@ -1,4 +0,0 @@ -Rapidus:
-Now I will give you fourth test. This time kill 36 enemies in a territory battle! As before, slay only those worthy of your attention.
-(You must kill only PCs who are level 61 or higher.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-12.html b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-12.html deleted file mode 100644 index e81274d1be..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-12.html +++ /dev/null @@ -1,3 +0,0 @@ -Rapidus:
-You want a reward, but cannot even accomplish the task I assigned you? Do not disappoint me. You must defeat 36 enemies in a territory battle. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-13.html b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-13.html deleted file mode 100644 index 379b72124f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/36479-13.html +++ /dev/null @@ -1,3 +0,0 @@ -Rapidus:
-I prepared something to reward you for your efforts. Wear this with pride. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/Q00176_StepsForHonor.java b/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/Q00176_StepsForHonor.java deleted file mode 100644 index ef607229b6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00176_StepsForHonor/Q00176_StepsForHonor.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00176_StepsForHonor; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Steps for Honor (176) - * @author malyelfik - */ -public class Q00176_StepsForHonor extends Quest -{ - // NPC - private static final int RAPIDUS = 36479; - // Item - private static final int CLOAK = 14603; - // Misc - private static final int MIN_LEVEL = 80; - - public Q00176_StepsForHonor() - { - super(176, Q00176_StepsForHonor.class.getSimpleName(), "Steps for Honor"); - addStartNpc(RAPIDUS); - addTalkId(RAPIDUS); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if ((st != null) && event.equalsIgnoreCase("36479-04.html")) - { - st.startQuest(); - return event; - } - return null; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? "36479-03.html" : "36479-02.html"; - break; - case State.STARTED: - switch (st.getCond()) - { - case 1: - htmltext = "36479-06.html"; - break; - case 2: - st.setCond(3, true); - htmltext = "36479-07.html"; - break; - case 3: - htmltext = "36479-08.html"; - break; - case 4: - st.setCond(5, true); - htmltext = "36479-09.html"; - break; - case 5: - htmltext = "36479-10.html"; - break; - case 6: - st.setCond(7, true); - htmltext = "36479-11.html"; - break; - case 7: - htmltext = "36479-12.html"; - break; - case 8: - st.giveItems(CLOAK, 1); - st.exitQuest(false, true); - htmltext = "36479-13.html"; - break; - } - break; - case State.COMPLETED: - htmltext = "36479-01.html"; - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00177_SplitDestiny/Q00177_SplitDestiny.java b/trunk/dist/game/data/scripts/quests/Q00177_SplitDestiny/Q00177_SplitDestiny.java index 783b8e68a9..a649daf8ad 100644 --- a/trunk/dist/game/data/scripts/quests/Q00177_SplitDestiny/Q00177_SplitDestiny.java +++ b/trunk/dist/game/data/scripts/quests/Q00177_SplitDestiny/Q00177_SplitDestiny.java @@ -20,6 +20,7 @@ package quests.Q00177_SplitDestiny; import com.l2jserver.gameserver.data.xml.impl.CategoryData; import com.l2jserver.gameserver.enums.CategoryType; +import com.l2jserver.gameserver.enums.SubclassInfoType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.holders.ItemHolder; @@ -158,7 +159,7 @@ public class Q00177_SplitDestiny extends Quest msg.addClassId(player.getClassId().getId()); player.sendPacket(msg); - player.sendPacket(new ExSubjobInfo(player)); + player.sendPacket(new ExSubjobInfo(player, SubclassInfoType.CLASS_CHANGED)); player.broadcastSocialAction(SocialAction.LEVEL_UP); if (event.equals("red_crystal")) diff --git a/trunk/dist/game/data/scripts/quests/Q00193_SevenSignsDyingMessage/Q00193_SevenSignsDyingMessage.java b/trunk/dist/game/data/scripts/quests/Q00193_SevenSignsDyingMessage/Q00193_SevenSignsDyingMessage.java index 43e5e99ee0..5cbb76bbae 100644 --- a/trunk/dist/game/data/scripts/quests/Q00193_SevenSignsDyingMessage/Q00193_SevenSignsDyingMessage.java +++ b/trunk/dist/game/data/scripts/quests/Q00193_SevenSignsDyingMessage/Q00193_SevenSignsDyingMessage.java @@ -21,6 +21,7 @@ package quests.Q00193_SevenSignsDyingMessage; import quests.Q00192_SevenSignsSeriesOfDoubt.Q00192_SevenSignsSeriesOfDoubt; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.QuestSound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; @@ -30,7 +31,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -72,7 +72,7 @@ public final class Q00193_SevenSignsDyingMessage extends Quest if (!npc.isDead()) { isBusy = false; - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.NEXT_TIME_YOU_WILL_NOT_ESCAPE)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.NEXT_TIME_YOU_WILL_NOT_ESCAPE)); npc.deleteMe(); } return super.onAdvEvent(event, npc, player); @@ -160,12 +160,12 @@ public final class Q00193_SevenSignsDyingMessage extends Quest if (st.isCond(4)) { isBusy = true; - NpcSay ns = new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP); + NpcSay ns = new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP); ns.addStringParameter(player.getName()); npc.broadcastPacket(ns); startQuestTimer("heal", 30000 - getRandom(20000), npc, player); L2MonsterInstance monster = (L2MonsterInstance) addSpawn(SHILENS_EVIL_THOUGHTS, 82425, 47232, -3216, 0, false, 0, false); - monster.broadcastPacket(new NpcSay(monster.getObjectId(), Say2.NPC_ALL, monster.getId(), NpcStringId.YOU_ARE_NOT_THE_OWNER_OF_THAT_ITEM)); + monster.broadcastPacket(new NpcSay(monster.getObjectId(), ChatType.NPC_GENERAL, monster.getId(), NpcStringId.YOU_ARE_NOT_THE_OWNER_OF_THAT_ITEM)); monster.setRunning(); monster.addDamageHate(player, 0, 999); monster.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); @@ -177,7 +177,7 @@ public final class Q00193_SevenSignsDyingMessage extends Quest { if (!npc.isInsideRadius(player, 600, true, false)) { - NpcSay ns = new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.LOOK_HERE_S1_DON_T_FALL_TOO_FAR_BEHIND); + NpcSay ns = new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.LOOK_HERE_S1_DON_T_FALL_TOO_FAR_BEHIND); ns.addStringParameter(player.getName()); npc.broadcastPacket(ns); } @@ -230,7 +230,7 @@ public final class Q00193_SevenSignsDyingMessage extends Quest isBusy = false; cancelQuestTimers("despawn"); cancelQuestTimers("heal"); - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.S1_YOU_MAY_HAVE_WON_THIS_TIME_BUT_NEXT_TIME_I_WILL_SURELY_CAPTURE_YOU).addStringParameter(partyMember.getName())); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.S1_YOU_MAY_HAVE_WON_THIS_TIME_BUT_NEXT_TIME_I_WILL_SURELY_CAPTURE_YOU).addStringParameter(partyMember.getName())); return super.onKill(npc, player, isSummon); } diff --git a/trunk/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/Q00196_SevenSignsSealOfTheEmperor.java b/trunk/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/Q00196_SevenSignsSealOfTheEmperor.java index f45f41a5c5..a5715d1240 100644 --- a/trunk/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/Q00196_SevenSignsSealOfTheEmperor.java +++ b/trunk/dist/game/data/scripts/quests/Q00196_SevenSignsSealOfTheEmperor/Q00196_SevenSignsSealOfTheEmperor.java @@ -20,6 +20,7 @@ package quests.Q00196_SevenSignsSealOfTheEmperor; import quests.Q00195_SevenSignsSecretRitualOfThePriests.Q00195_SevenSignsSecretRitualOfThePriests; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.quest.Quest; @@ -27,7 +28,6 @@ import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -66,7 +66,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest if ((npc.getId() == MERCHANT_OF_MAMMON) && "DESPAWN".equals(event)) { isBusy = false; - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.THE_ANCIENT_PROMISE_TO_THE_EMPEROR_HAS_BEEN_FULFILLED)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.THE_ANCIENT_PROMISE_TO_THE_EMPEROR_HAS_BEEN_FULFILLED)); npc.deleteMe(); return super.onAdvEvent(event, npc, player); } @@ -102,7 +102,7 @@ public final class Q00196_SevenSignsSealOfTheEmperor extends Quest isBusy = true; npc.setScriptValue(1); final L2Npc merchant = addSpawn(MERCHANT_OF_MAMMON, 109743, 219975, -3512, 0, false, 0, false); - merchant.broadcastPacket(new NpcSay(merchant.getObjectId(), Say2.NPC_ALL, merchant.getId(), NpcStringId.WHO_DARES_SUMMON_THE_MERCHANT_OF_MAMMON)); + merchant.broadcastPacket(new NpcSay(merchant.getObjectId(), ChatType.NPC_GENERAL, merchant.getId(), NpcStringId.WHO_DARES_SUMMON_THE_MERCHANT_OF_MAMMON)); htmltext = "30969-06.html"; startQuestTimer("DESPAWN", 120000, merchant, null); } diff --git a/trunk/dist/game/data/scripts/quests/Q00197_SevenSignsTheSacredBookOfSeal/Q00197_SevenSignsTheSacredBookOfSeal.java b/trunk/dist/game/data/scripts/quests/Q00197_SevenSignsTheSacredBookOfSeal/Q00197_SevenSignsTheSacredBookOfSeal.java index 0e9213da29..79017c692d 100644 --- a/trunk/dist/game/data/scripts/quests/Q00197_SevenSignsTheSacredBookOfSeal/Q00197_SevenSignsTheSacredBookOfSeal.java +++ b/trunk/dist/game/data/scripts/quests/Q00197_SevenSignsTheSacredBookOfSeal/Q00197_SevenSignsTheSacredBookOfSeal.java @@ -21,6 +21,7 @@ package quests.Q00197_SevenSignsTheSacredBookOfSeal; import quests.Q00196_SevenSignsSealOfTheEmperor.Q00196_SevenSignsSealOfTheEmperor; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.QuestSound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; @@ -29,7 +30,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -69,7 +69,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest if (!npc.isDead()) { isBusy = false; - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.NEXT_TIME_YOU_WILL_NOT_ESCAPE)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.NEXT_TIME_YOU_WILL_NOT_ESCAPE)); npc.deleteMe(); } return super.onAdvEvent(event, npc, player); @@ -170,9 +170,9 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest if (st.isCond(3)) { isBusy = true; - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP).addStringParameter(player.getName())); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP).addStringParameter(player.getName())); final L2MonsterInstance monster = (L2MonsterInstance) addSpawn(SHILENS_EVIL_THOUGHTS, 152520, -57502, -3408, 0, false, 0, false); - monster.broadcastPacket(new NpcSay(monster.getObjectId(), Say2.NPC_ALL, monster.getId(), NpcStringId.YOU_ARE_NOT_THE_OWNER_OF_THAT_ITEM)); + monster.broadcastPacket(new NpcSay(monster.getObjectId(), ChatType.NPC_GENERAL, monster.getId(), NpcStringId.YOU_ARE_NOT_THE_OWNER_OF_THAT_ITEM)); monster.setRunning(); monster.addDamageHate(player, 0, 999); monster.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); @@ -241,7 +241,7 @@ public final class Q00197_SevenSignsTheSacredBookOfSeal extends Quest isBusy = false; cancelQuestTimers("despawn"); - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.S1_YOU_MAY_HAVE_WON_THIS_TIME_BUT_NEXT_TIME_I_WILL_SURELY_CAPTURE_YOU).addStringParameter(partyMember.getName())); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.S1_YOU_MAY_HAVE_WON_THIS_TIME_BUT_NEXT_TIME_I_WILL_SURELY_CAPTURE_YOU).addStringParameter(partyMember.getName())); return super.onKill(npc, player, isSummon); } diff --git a/trunk/dist/game/data/scripts/quests/Q00198_SevenSignsEmbryo/Q00198_SevenSignsEmbryo.java b/trunk/dist/game/data/scripts/quests/Q00198_SevenSignsEmbryo/Q00198_SevenSignsEmbryo.java index 51795a1c94..07a7a9c23d 100644 --- a/trunk/dist/game/data/scripts/quests/Q00198_SevenSignsEmbryo/Q00198_SevenSignsEmbryo.java +++ b/trunk/dist/game/data/scripts/quests/Q00198_SevenSignsEmbryo/Q00198_SevenSignsEmbryo.java @@ -21,6 +21,7 @@ package quests.Q00198_SevenSignsEmbryo; import quests.Q00197_SevenSignsTheSacredBookOfSeal.Q00197_SevenSignsTheSacredBookOfSeal; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -30,7 +31,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -71,7 +71,7 @@ public final class Q00198_SevenSignsEmbryo extends Quest if (!npc.isDead()) { isBusy = false; - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.NEXT_TIME_YOU_WILL_NOT_ESCAPE)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.NEXT_TIME_YOU_WILL_NOT_ESCAPE)); npc.deleteMe(); } return super.onAdvEvent(event, npc, player); @@ -108,10 +108,10 @@ public final class Q00198_SevenSignsEmbryo extends Quest if (st.isCond(1)) { isBusy = true; - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP).addStringParameter(player.getName())); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.S1_THAT_STRANGER_MUST_BE_DEFEATED_HERE_IS_THE_ULTIMATE_HELP).addStringParameter(player.getName())); startQuestTimer("heal", 30000 - getRandom(20000), npc, player); L2MonsterInstance monster = (L2MonsterInstance) addSpawn(SHILENS_EVIL_THOUGHTS, -23734, -9184, -5384, 0, false, 0, false, npc.getInstanceId()); - monster.broadcastPacket(new NpcSay(monster.getObjectId(), Say2.NPC_ALL, monster.getId(), NpcStringId.YOU_ARE_NOT_THE_OWNER_OF_THAT_ITEM)); + monster.broadcastPacket(new NpcSay(monster.getObjectId(), ChatType.NPC_GENERAL, monster.getId(), NpcStringId.YOU_ARE_NOT_THE_OWNER_OF_THAT_ITEM)); monster.setRunning(); monster.addDamageHate(player, 0, 999); monster.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, player); @@ -123,7 +123,7 @@ public final class Q00198_SevenSignsEmbryo extends Quest { if (!npc.isInsideRadius(player, 600, true, false)) { - NpcSay ns = new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.LOOK_HERE_S1_DON_T_FALL_TOO_FAR_BEHIND); + NpcSay ns = new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.LOOK_HERE_S1_DON_T_FALL_TOO_FAR_BEHIND); ns.addStringParameter(player.getName()); npc.broadcastPacket(ns); } @@ -152,7 +152,7 @@ public final class Q00198_SevenSignsEmbryo extends Quest st.takeItems(SCULPTURE_OF_DOUBT, -1); st.setCond(3, true); htmltext = event; - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.WE_WILL_BE_WITH_YOU_ALWAYS)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.WE_WILL_BE_WITH_YOU_ALWAYS)); } break; } @@ -190,7 +190,7 @@ public final class Q00198_SevenSignsEmbryo extends Quest isBusy = false; cancelQuestTimers("despawn"); cancelQuestTimers("heal"); - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.S1_YOU_MAY_HAVE_WON_THIS_TIME_BUT_NEXT_TIME_I_WILL_SURELY_CAPTURE_YOU).addStringParameter(partyMember.getName())); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.S1_YOU_MAY_HAVE_WON_THIS_TIME_BUT_NEXT_TIME_I_WILL_SURELY_CAPTURE_YOU).addStringParameter(partyMember.getName())); npc.deleteMe(); partyMember.showQuestMovie(14); return super.onKill(npc, player, isSummon); diff --git a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-00.htm b/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-00.htm deleted file mode 100644 index ed01691985..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-00.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Mouen:
-Ever been to the Plains of the Lizardmen? It was there than the mighty dragon Antharas was slain and his blood carried his grudge into the soil of the earth beneath him. They say the place is cursed, but whatever is true, it is agreed that it is very dangerous. Tread lightly there.
-(This quest is available to characters level 82 and above only.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-01.htm b/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-01.htm deleted file mode 100644 index ac577a6f47..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Guard Mouen:
-You ever been to the Plains of the Lizardmen? It was there that the mighty dragon Antharas was slain. They say the magic that flowed through his veins poured into the Plains and bloomed into something quite beautiful. Absolute rubbish if you ask me! The region has become sick with poison! Just ask the Leto Lizardmen.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-02.htm b/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-02.htm deleted file mode 100644 index 56850072d1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Chief Guard Mouen:
-The poisons of the plains caused the Leto to die off, and what Leto didn't die began to... evolve, if you could call it that. They have become a new species, calling themselves the Tanta. Only I doubt poison alone could do that, so it must be magic too. The poor Leto... they had no choice in the matter.
-A group of investigators were sent to look into the matter months ago. We haven't heard anything back from them, though, and my duties keep me from handling the situation personally. Could you do me a favor and talk to the Chief Investigator for me? His name is Johnny.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-03.htm b/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-03.htm deleted file mode 100644 index fd146a0c9b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Chief Guard Mouen:
-Go to the Plains of the Lizardmen and tell Johnny we're still anxiously awaiting a response and the clock's ticking. He owes me for paying for the investigation. I suppose I'll compensate you as well if you can get him to finally respond. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-04.htm b/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-04.htm deleted file mode 100644 index 3b79b4fa4a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -Chief Guard Mouen:
-We still haven't heard from those do-nothing investigators. Talk to Johnny as soon as possible, please. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-05.htm b/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-05.htm deleted file mode 100644 index 5fa40019d7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/30196-05.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Guard Mouen:
-Hey, there you are! How are you doing? We're very pleased with how you handled that matter with the investigators. Might not have done it without you. Thanks!
-(This quest is complete.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-01.htm b/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-01.htm deleted file mode 100644 index 8b4f7a7bd0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Investigator Johnny:
-Mouen sent you? Damn it, this investigation is my responsibility. He should learn to trust me and quit doubting me. So what did he say?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-02.htm b/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-02.htm deleted file mode 100644 index 18cf4bb47a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Investigator Johnny:
-Investigators Sally and Laki are supposed to have conducted the investigation and turned in their reports. I guess they haven't been delivered. I'll crack the whip on those two and make sure they get the results of the investigation back to Mouen. Anything you might be curious about the plains, just ask them. Personally, I don't go out there because the poison gets on my clothes, and these threads cost me a pretty penny. Clothes make the man, they say.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-03.htm b/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-03.htm deleted file mode 100644 index 9a53db304d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Chief Investigator Johnny:
-Mouen said you'd be compensated for this? (Sigh) Alright, but this is all I got for the investigation myself. Here, take it. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-04.htm b/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-04.htm deleted file mode 100644 index 73fff4ffda..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/32744-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Investigator Johnny:
-Get off my back. The reports have been sent.
-(This quest is complete.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/Q00249_PoisonedPlainsOfTheLizardmen.java b/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/Q00249_PoisonedPlainsOfTheLizardmen.java deleted file mode 100644 index a62ad34f6a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/Q00249_PoisonedPlainsOfTheLizardmen.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00249_PoisonedPlainsOfTheLizardmen; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Poisoned Plains of the Lizardmen (249) - * @author Gnacik - * @version 2010-08-04 Based on Freya PTS - */ -public class Q00249_PoisonedPlainsOfTheLizardmen extends Quest -{ - // NPCs - private static final int MOUEN = 30196; - private static final int JOHNNY = 32744; - - public Q00249_PoisonedPlainsOfTheLizardmen() - { - super(249, Q00249_PoisonedPlainsOfTheLizardmen.class.getSimpleName(), "Poisoned Plains of the Lizardmen"); - addStartNpc(MOUEN); - addTalkId(MOUEN, JOHNNY); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - final QuestState st = getQuestState(player, false); - if (st == null) - { - return htmltext; - } - - if (npc.getId() == MOUEN) - { - if (event.equalsIgnoreCase("30196-03.htm")) - { - st.startQuest(); - } - } - else if ((npc.getId() == JOHNNY) && event.equalsIgnoreCase("32744-03.htm")) - { - st.giveAdena(83056, true); - st.addExpAndSp(477496, 58743); - st.exitQuest(false, true); - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - if (npc.getId() == MOUEN) - { - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= 82) ? "30196-01.htm" : "30196-00.htm"; - break; - case State.STARTED: - if (st.isCond(1)) - { - htmltext = "30196-04.htm"; - } - break; - case State.COMPLETED: - htmltext = "30196-05.htm"; - break; - } - } - else if (npc.getId() == JOHNNY) - { - if (st.isCond(1)) - { - htmltext = "32744-01.htm"; - } - else if (st.isCompleted()) - { - htmltext = "32744-04.htm"; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-00.htm b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-00.htm deleted file mode 100644 index 9090c91e98..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-00.htm +++ /dev/null @@ -1,4 +0,0 @@ -Investigator Sally:
-Agh! I'm dying to learn more about the plants and fungus on the Plains of the Lizardmen! The Plains are full of so many species, some you can't find anywhere else! But I couldn't send you, as much as I want to know. You're just not strong enough yet.
-(Only characters level 82 and above are allowed to take this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-01.htm b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-01.htm deleted file mode 100644 index 62ea38d84f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Investigator Sally:
-As I mentioned, there are some unique plants on the Plains of the Lizardmen. They're very rare and sought after because of what happens when you eat them. Pretty cool, right?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-02.htm b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-02.htm deleted file mode 100644 index dbc2211a48..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Investigator Sally:
-I wish I knew, truly. I'm determined to find out...in fact, you might be able to help me, if you're willing?
-Look, I have no illusions about myself. I'm no fighter. Girls could beat me up. Little girls. Little sick girls. It's not a big secret or anything, but could you maybe not repeat that to anyone?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-03.htm b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-03.htm deleted file mode 100644 index e427bf42a3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Investigator Sally:
-Oh, thank you so much, that's really cool of you. I wish I was tough like you... or heck, even as tough as my little niece Gretzka. She's a tough little cookie. Anyway, that's not important. What is important is that you bring me samples of the plants on the Plains. I need one bag of spores from the Fantasy Mushroom, one bag of spores from the Sticky Mushroom, and one leaf from the Energy Plant. All of these can be found on the Plains. And this goes without saying, but don't eat them until I have a chance to study them! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-04.htm b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-04.htm deleted file mode 100644 index 47e2c17aa0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -Investigator Sally:
-You still haven't found everything. That's OK... I guess. If you like living your life full of unanswered questions. Come on, I really must know about these species, so please hurry! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-05.htm b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-05.htm deleted file mode 100644 index ea465f3898..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-05.htm +++ /dev/null @@ -1,4 +0,0 @@ -Investigator Sally:
-You did it! I have to say, I'm impressed. And you didn't even eat any of them... right? RIGHT? Uh oh. Don't move! I'll analyze these plants as quickly as possible.
-Hm... what's that smell? Did you step in something on the way here? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-06.htm b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-06.htm deleted file mode 100644 index 795a770d96..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-06.htm +++ /dev/null @@ -1,8 +0,0 @@ -Investigator Sally:
-There you are! I finished the analysis, and the results are good. You'll live! Basically. No need for an antidote or anything.
-I eat various medicinal plants all the time. For research purposes only, of course. Want me to tell you about what these ones do?
- - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-07.htm b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-07.htm deleted file mode 100644 index f0844f5f3e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-07.htm +++ /dev/null @@ -1,7 +0,0 @@ -Investigator Sally:
-Fantasy Mushrooms are quite strange indeed. They cause visions and euphoria - any monsters that might be aggressive towards you will be attracted to the mushroom and calmed, should its spores be released. The effect is temporary though.
-Need to know more? It's no bother!
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-08.htm b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-08.htm deleted file mode 100644 index bfd737bff6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-08.htm +++ /dev/null @@ -1,7 +0,0 @@ -Investigator Sally:
-Sticky Mushrooms have an extreme healing factor. They recover your HP by 90%! They're also good for headaches. There is a cost though - they pretty much knock you out for 5 seconds.
-I can talk about plants and fungus all day! Want to know more?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-09.htm b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-09.htm deleted file mode 100644 index cd02b97e63..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-09.htm +++ /dev/null @@ -1,7 +0,0 @@ -Investigator Sally:
-Energy Plants recover your hit points by 70% and so far, I haven't noticed any adverse side-effects. Well... there's one thing. They can cause extremely bad gas. Like tear-inducing, face-meltingly bad gas. But it only lasts a short while!
-I love talking about plants! Want to know more?!
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-20.html b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-20.html deleted file mode 100644 index 39dafd60d8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-20.html +++ /dev/null @@ -1,6 +0,0 @@ -Investigator Sally:
-Hi, I'm an investigator from the city assigned to the Plains of the Lizardmen. Truth is, I couldn't be happier. There are SO many plants here that I've never seen. Rare ones, big ones, pointy ones, pretty ones, never seen anywhere else. But there's a problem... I'm not strong enough to handle being alone out on the Plains.
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-21.html b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-21.html deleted file mode 100644 index e6334f249b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-21.html +++ /dev/null @@ -1,6 +0,0 @@ -Investigator Sally:
-Most of the Leto Lizardmen died from the poisons of the plants found on the plains, but those who didn't seem to have evolved into a new race called the Tanta Lizardmen. However, I believe there are some Leto that are still living in an area outside the Plains of the Lizardmen, avoiding the poisons and maintaining their original appearance.
-I think they live in the shadow of a hill northeast of the Plains, near the road leading to the Hunter's Village.
-In fact, I'm sure of it! I saw them myself.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-22.html b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-22.html deleted file mode 100644 index 1eb70e68d3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-22.html +++ /dev/null @@ -1,6 +0,0 @@ -Investigator Sally:
-There are three plants that we're especially curious about. Well, not all are plants - two are forms of fungus. The Fantasy Mushroom, Stick Mushroom, and Energy Plant are extremely plentiful on the Plains of the Lizardmen, but the strange thing is, they aren't found anywhere else in the world. All I can think about is studying these species! Or more specifically, the effects these plants have. That's... that's the part I really like.
-Maybe you know?
-(Only characters who have completed Watch What You Eat can check this information.)
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-23.html b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-23.html deleted file mode 100644 index daabc0a75f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-23.html +++ /dev/null @@ -1,8 +0,0 @@ -Investigator Sally:
-I told you everything I learned before! But you know how much I love talking about plants, so ask away. OH! Also, I found out about a new species of Frog that lives on the Plains called the Rainbow Frog that might prove useful to you! I know, I know, I am pretty awesome like that... What can I say?
- - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-24.html b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-24.html deleted file mode 100644 index 6e7f950c8c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-24.html +++ /dev/null @@ -1,8 +0,0 @@ -Investigator Sally:
-Fantasy Mushrooms are quite strange indeed. They cause visions and euphoria - any monsters that might be aggressive towards you will be attracted to the mushroom and calmed, should its spores be released. The effect is temporary though.
-Need to know more? It's no bother!
- - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-25.html b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-25.html deleted file mode 100644 index 70964ba54a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-25.html +++ /dev/null @@ -1,8 +0,0 @@ -Investigator Sally:
-Sticky Mushrooms have an extreme healing factor. They recover your HP by 90%! They're also good for headaches. There is a cost though - they pretty much knock you out for 5 seconds.
-I'm a plant encyclopedia. Hit me again!
- - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-26.html b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-26.html deleted file mode 100644 index 56463de844..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-26.html +++ /dev/null @@ -1,8 +0,0 @@ -Investigator Sally:
-Energy Plants recover your hit points by 70%, but like I said, there's one side effect. They can cause extremely bad gas. Like tear-inducing, face-meltingly bad gas. But it only lasts a short while!
-I love talking about plants! Want to know more?!
- - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-27.html b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-27.html deleted file mode 100644 index 8edb54b116..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-27.html +++ /dev/null @@ -1,8 +0,0 @@ -Investigator Sally:
-It turns out the Rainbow Frog is a natural antidote for the poisons found all over the Plains of the Lizardmen. Lick or eat them and you'll recover 10% of your HP, plus they have a tangy fruit-like flavor. Just try to stay away from the poison, OK?
-Anything else you want to know?
- - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-done.htm b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-done.htm deleted file mode 100644 index 1070bdfd06..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-done.htm +++ /dev/null @@ -1,4 +0,0 @@ -Investigator Sally:
-Looking good, eh? Been trying any plants lately? Hehe, me too! ... (gurgle gurgle)
-(This quest is already complete.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-end.htm b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-end.htm deleted file mode 100644 index 436a93aa37..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/32743-end.htm +++ /dev/null @@ -1,3 +0,0 @@ -Investigator Sally:
-Well, you really helped me out! Let me return the favor someday. And again, thanks so much! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/Q00250_WatchWhatYouEat.java b/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/Q00250_WatchWhatYouEat.java deleted file mode 100644 index a2d452619a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/Q00250_WatchWhatYouEat.java +++ /dev/null @@ -1,183 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00250_WatchWhatYouEat; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Watch What You Eat (250) - * @author Gnacik - * @version 2010-08-05 Based on Freya PTS - */ -public class Q00250_WatchWhatYouEat extends Quest -{ - // NPCs - private static final int SALLY = 32743; - // Mobs - Items - private static final int[][] MOBS = - { - { - 18864, - 15493 - }, - { - 18865, - 15494 - }, - { - 18868, - 15495 - } - }; - - public Q00250_WatchWhatYouEat() - { - super(250, Q00250_WatchWhatYouEat.class.getSimpleName(), "Watch What You Eat"); - addStartNpc(SALLY); - addFirstTalkId(SALLY); - addTalkId(SALLY); - for (int[] mob : MOBS) - { - addKillId(mob[0]); - } - registerQuestItems(15493, 15494, 15495); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - QuestState st = getQuestState(player, false); - - if (st == null) - { - return htmltext; - } - - if (npc.getId() == SALLY) - { - if (event.equalsIgnoreCase("32743-03.htm")) - { - st.startQuest(); - } - else if (event.equalsIgnoreCase("32743-end.htm")) - { - st.giveAdena(135661, true); - st.addExpAndSp(698334, 76369); - st.exitQuest(false, true); - } - else if (event.equalsIgnoreCase("32743-22.html") && st.isCompleted()) - { - htmltext = "32743-23.html"; - } - } - return htmltext; - } - - @Override - public String onFirstTalk(L2Npc npc, L2PcInstance player) - { - if (npc.getId() == SALLY) - { - return "32743-20.html"; - } - - return null; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - if (st.isStarted() && st.isCond(1)) - { - for (int[] mob : MOBS) - { - if (npc.getId() == mob[0]) - { - if (!st.hasQuestItems(mob[1])) - { - st.giveItems(mob[1], 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - } - if (st.hasQuestItems(MOBS[0][1]) && st.hasQuestItems(MOBS[1][1]) && st.hasQuestItems(MOBS[2][1])) - { - st.setCond(2, true); - } - } - return null; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - if (npc.getId() == SALLY) - { - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= 82) ? "32743-01.htm" : "32743-00.htm"; - break; - case State.STARTED: - if (st.isCond(1)) - { - htmltext = "32743-04.htm"; - } - else if (st.isCond(2)) - { - if (st.hasQuestItems(MOBS[0][1]) && st.hasQuestItems(MOBS[1][1]) && st.hasQuestItems(MOBS[2][1])) - { - htmltext = "32743-05.htm"; - for (int items[] : MOBS) - { - st.takeItems(items[1], -1); - } - } - else - { - htmltext = "32743-06.htm"; - } - } - break; - case State.COMPLETED: - htmltext = "32743-done.htm"; - break; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-00.htm b/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-00.htm deleted file mode 100644 index 3c7e90da0d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-00.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Pinaps:
-I require a more seasoned adventurer. When you see one in the mirror, come on back.
-(Only character with level 82 or above can take on this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-01.htm b/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-01.htm deleted file mode 100644 index 7788691e05..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Pinaps:
-We've learned Sel Mahums have begun training for battle. Their training grounds are near the Sel Mahum Training Grounds. This is no coincidence. The Town of Oren's safety is at stake. I won't just wait and see. I've sworn an oath to defend.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-02.htm b/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-02.htm deleted file mode 100644 index b52aa5b482..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Pinaps:
-Ah, these lands were once called SkyPaint Grassland. Then the Sel Mahums put their training camp here and dubbed it the Sel Mahum Training Grounds. Anyway, what do you think? Want to give me a hand?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-03.htm b/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-03.htm deleted file mode 100644 index 405cc83b0a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Pinaps:
-The Sel Mahums are training for war, it's up to us to keep the peace. But we need to know more about their training operation. I cannot leave my post, I'm duty bound. I'll need your help. Get the Sel Mahum training schedule from the training instructor and bring it here.
-Then bring the Sel Mahum training log new privates and Sel Mahum soldiers carry. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-04.htm b/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-04.htm deleted file mode 100644 index 9415c6dec8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -Guard Pinaps:
-Excellent work! Now we know what kind of training the Sel Mahums are doing. Nicely done! Here, you've earned this! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-05.htm b/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-05.htm deleted file mode 100644 index 599147dd84..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-05.htm +++ /dev/null @@ -1,3 +0,0 @@ -Guard Pinaps:
-Hey, lackey. While you're relaxing, Sel Mahums are training for war. That means get Ready! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-06.htm b/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-06.htm deleted file mode 100644 index 3559de51c0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/30201-06.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Pinaps:
-Ah, it has been awhile! Share a pint with me old friend! We can catch up on old times!
-(You have already performed this quest). - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/Q00251_NoSecrets.java b/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/Q00251_NoSecrets.java deleted file mode 100644 index 81a8d83b9d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00251_NoSecrets/Q00251_NoSecrets.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00251_NoSecrets; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.util.Util; - -/** - * No Secrets (251) - * @author Dumpster - */ -public class Q00251_NoSecrets extends Quest -{ - public static final int PINAPS = 30201; - public static final int DIARY = 15508; - public static final int TABLE = 15509; - - private static final int[] MOBS = - { - 22783, - 22785, - 22780, - 22782, - 22784 - }; - - private static final int[] MOBS2 = - { - 22775, - 22776, - 22778 - }; - - public Q00251_NoSecrets() - { - super(251, Q00251_NoSecrets.class.getSimpleName(), "No Secrets"); - addStartNpc(PINAPS); - addTalkId(PINAPS); - addKillId(MOBS); - addKillId(MOBS2); - registerQuestItems(DIARY, TABLE); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - if (event.equals("30201-03.htm")) - { - st.startQuest(); - } - return event; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - if ((st != null) && st.isStarted() && st.isCond(1)) - { - final int npcId = npc.getId(); - - if (Util.contains(MOBS, npcId) && (getRandom(100) < 10) && (st.getQuestItemsCount(DIARY) < 10)) - { - st.giveItems(DIARY, 1); - if ((st.getQuestItemsCount(DIARY) >= 10) && (st.getQuestItemsCount(TABLE) >= 5)) - { - st.setCond(2, true); - } - else - { - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - else if (Util.contains(MOBS2, npcId) && (getRandom(100) < 5) && (st.getQuestItemsCount(TABLE) < 5)) - { - st.giveItems(TABLE, 1); - if ((st.getQuestItemsCount(DIARY) >= 10) && (st.getQuestItemsCount(TABLE) >= 5)) - { - st.setCond(2, true); - } - else - { - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() > 81) ? "30201-01.htm" : "30201-00.htm"; - break; - case State.STARTED: - if (st.isCond(1)) - { - htmltext = "30201-05.htm"; - } - else if ((st.isCond(2)) && (st.getQuestItemsCount(DIARY) >= 10) && (st.getQuestItemsCount(TABLE) >= 5)) - { - htmltext = "30201-04.htm"; - st.giveAdena(313355, true); - st.addExpAndSp(56787, 160578); - st.exitQuest(false, true); - } - break; - case State.COMPLETED: - htmltext = "30201-06.htm"; - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-01.htm b/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-01.htm deleted file mode 100644 index 96d75314fe..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Guard Stan:
-Smell that? Sweet salvation, that's what it smells like to me. Like a juicy slice of heaven, wrapped in honey by angels and turned into an aroma. Hm... I smell it every Thursday. Sadly, I've never tasted it. A lesser man would have gone mad by now. MAD I say!!
-I don't know what it is, but they cook it over at the Sel Mahum Training Grounds. When I close my eyes I dream of this smell.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-02.htm b/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-02.htm deleted file mode 100644 index 0ed0cc842e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Stan:
-Hmm... I don't think you have the nose to track down this delicious smell for me.
-(Only characters level 82 or above can take this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-03.html b/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-03.html deleted file mode 100644 index 79c3c38a1a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Stan:
-My love affair with salmon soup is all because of you. And so is this incremental weight gain in my thighs and midsection. But still, thanks!
-(You have already completed this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-04.htm b/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-04.htm deleted file mode 100644 index b5bfe2d74d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-04.htm +++ /dev/null @@ -1,5 +0,0 @@ -Guard Stan:
-What? Oh, sorry. It's just... Someone cooked something and it smells REALLY good. But yes, we called it Skyshadow Meadow until the Sel Mahums started using it for battle training. Gave it some goofy name... Sel Mahum Training Grounds I think. Should have named it 'What the hell is that delicious smell??'.
-Hey, good buddy of mine, how about a little adventure? Find what is making that yummy smell and bring it to me? PLEASE?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-05.htm b/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-05.htm deleted file mode 100644 index aee97cce3e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-05.htm +++ /dev/null @@ -1,5 +0,0 @@ -Guard Stan:
-As I expected, they're cooking the dish over their campfires. The soup will soon be mine!
-Search their pockets for the recipe. I think the Sel Mahum Squad Leaders might keep it with them. They tend to hang around the campfires gobbling up soup. The Sel Mahum Chef is another possibility. He carries around the soup and serves it to the squad leaders. I can taste victory already... it will be ours and so will the soup!
-Some of the Sel Mahum Squad Leaders doze off around the fires, careful not to wake them. I'll wait right here. Be careful! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-06.html b/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-06.html deleted file mode 100644 index c1e52527b1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Stan:
-Did you find it?! But I'm starving!! Man, I am THIS close to abandoning my post and gobbling whatever is making that smell. Just find it and bring it here, please!! I haven't eaten all day and it smells y-u-m-m-m-y!! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-07.html b/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-07.html deleted file mode 100644 index 1cc9017f9a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-07.html +++ /dev/null @@ -1,6 +0,0 @@ -Guard Stan:
-Well?! I'm dying here! Smells so good! I should've eaten breakfast but I slept in. Let me see what you found.
-Hm these recipe notes are torn, they're hard to read. Maybe if I hm AHA! Salmon soup? That smell was from salmon soup? Hey, help me put these pieces together. I will learn this recipe or DIE TRYING!
-Grr... wait. Soup like that would have to be... ah, you found some Diary entries too! Let's have a look.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-08.html b/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-08.html deleted file mode 100644 index 69e8c27ab3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/30200-08.html +++ /dev/null @@ -1,7 +0,0 @@ -Guard Stan:
-'I LOVE SALMON SOUP!' -'Man, warms you right up! I need a napkin.. Nah I'll just lick my face!'
-'Salmon soup.. Hmm... my newest favorite of everything...'
-'Oohh, I don't feel so good. That campfire is making me nauseous...'

-Well, it looks like Sel Mahum Squad Leaders are so busy eating soup and resting that they're not training. Thought you should know. Anyway, thank you. In a minute, I'll belch, and taste that salmon soup one more time. MM-mmm. Take this, it's for the soup. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/Q00252_ItSmellsDelicious.java b/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/Q00252_ItSmellsDelicious.java deleted file mode 100644 index cf92364c54..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00252_ItSmellsDelicious/Q00252_ItSmellsDelicious.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00252_ItSmellsDelicious; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * It Smells Delicious! (252)
- * Updated by corbin12, thanks VlLight for help. - * @author Dumpster, jurchiks - */ -public class Q00252_ItSmellsDelicious extends Quest -{ - // NPC - public static final int STAN = 30200; - // Items - public static final int DIARY = 15500; - public static final int COOKBOOK_PAGE = 15501; - // Monsters - private static final int[] MOBS = - { - 22786, - 22787, - 22788 - }; - private static final int CHEF = 18908; - // Misc - private static final double DIARY_CHANCE = 0.599; - private static final int DIARY_MAX_COUNT = 10; - private static final double COOKBOOK_PAGE_CHANCE = 0.36; - private static final int COOKBOOK_PAGE_MAX_COUNT = 5; - - public Q00252_ItSmellsDelicious() - { - super(252, Q00252_ItSmellsDelicious.class.getSimpleName(), "It Smells Delicious!"); - addStartNpc(STAN); - addTalkId(STAN); - addKillId(CHEF); - addKillId(MOBS); - registerQuestItems(DIARY, COOKBOOK_PAGE); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - String htmltext = null; - if (qs == null) - { - return htmltext; - } - - switch (event) - { - case "30200-04.htm": - htmltext = event; - break; - case "30200-05.htm": - if (qs.isCreated()) - { - qs.startQuest(); - htmltext = event; - } - break; - case "30200-08.html": - if (qs.isCond(2)) - { - giveAdena(player, 147656, true); - addExpAndSp(player, 716238, 78324); - qs.exitQuest(false, true); - htmltext = event; - } - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs; - if (npc.getId() == CHEF) // only the killer gets quest items from the chef - { - qs = getQuestState(killer, false); - if ((qs != null) && qs.isCond(1)) - { - if (giveItemRandomly(killer, npc, COOKBOOK_PAGE, 1, COOKBOOK_PAGE_MAX_COUNT, COOKBOOK_PAGE_CHANCE, true)) - { - if (hasMaxDiaries(qs)) - { - qs.setCond(2, true); - } - } - } - } - else - { - qs = getRandomPartyMemberState(killer, 1, 3, npc); - if (qs != null) - { - if (giveItemRandomly(qs.getPlayer(), npc, DIARY, 1, DIARY_MAX_COUNT, DIARY_CHANCE, true)) - { - if (hasMaxCookbookPages(qs)) - { - qs.setCond(2, true); - } - } - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public boolean checkPartyMember(QuestState qs, L2Npc npc) - { - return !hasMaxDiaries(qs); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - - if (qs.isCreated()) - { - htmltext = ((player.getLevel() >= 82) ? "30200-01.htm" : "30200-02.htm"); - } - else if (qs.isStarted()) - { - switch (qs.getCond()) - { - case 1: - htmltext = "30200-06.html"; - break; - case 2: - if (hasMaxDiaries(qs) && hasMaxCookbookPages(qs)) - { - htmltext = "30200-07.html"; - } - break; - } - } - else - { - htmltext = "30200-03.html"; - } - return htmltext; - } - - private static boolean hasMaxDiaries(QuestState qs) - { - return (getQuestItemsCount(qs.getPlayer(), DIARY) >= DIARY_MAX_COUNT); - } - - private static boolean hasMaxCookbookPages(QuestState qs) - { - return (getQuestItemsCount(qs.getPlayer(), COOKBOOK_PAGE) >= COOKBOOK_PAGE_MAX_COUNT); - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-01.htm b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-01.htm deleted file mode 100644 index 45e1ba332c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Investigator Laki:
-If all you did was look from out here at the Plains of the Lizardmen, you'd describe it as a beautiful magical place. If only that were true. I was naive enough to believe that once, but the scars on my skin that I will leave here with will forever remind me of the truth. Look at this... and here... you see? That's from the poisons that cover the Plains. I'm just lucky to be alive. How can I study under these conditions?
-Further, how does a species survive amidst the cursed magical energy that came from Antharas' blood that flows through the land? Not only survive... they seem to to actually thrive on the magic and poisons. That is the root of my research. How a species could adapt to that?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-02.htm b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-02.htm deleted file mode 100644 index dc492ae910..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Investigator Laki:
-Primarily, I am investigating the intelligence of the Tanta Lizardmen, and whether or not they are cognitive enough to know how much they've changed to fit this new environment. The root of my research lies in the study of their blood... so much blood. But I've used it all and still my results are unsatisfying. Could you possibly gather more of the Tanta's blood for me? it's very important!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-03.htm b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-03.htm deleted file mode 100644 index 7a59f04c19..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Investigator Laki:
-For the investigation, I'll need at least 100 vials of Tanta Lizardmen blood. But, if you bring more, I can offer more and greater rewards. The more, the better. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-04.html b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-04.html deleted file mode 100644 index 7473fb0e1e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Investigator Laki:
-We're on the right track, but we need much more blood. I calculate that a proper investigation prequires at least 100 vials of Tanta blood. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-05.html b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-05.html deleted file mode 100644 index 7e656254c0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-05.html +++ /dev/null @@ -1,7 +0,0 @@ -Investigator Laki:
-Well well! You've brought quite a bit of blood. Thanks to you, my research can continue! As soon as we get some results, I'll be sure to share them with you. Hard work deserves proper payment, however. Take your choice.
- -(500 vials of blood)
- -(100 vials of blood) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-06.html b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-06.html deleted file mode 100644 index 2184cc38de..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Investigator Laki:
-There you are. I'd like to give you even more if I could. At least take what I have for now. But in the meantime, I can always use more Tanta Lizardmen blood!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-07.html b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-07.html deleted file mode 100644 index c723fb16e5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Investigator Laki:
-I'm sorry but the Recipe and Ingredients of Icarus Spitter is rewarded to the first adventurer to bring me more than 500 vials of Tanta blood. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-08.html b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-08.html deleted file mode 100644 index c41727bec9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-08.html +++ /dev/null @@ -1,5 +0,0 @@ -Investigator Laki:
-Here you are. I'd like to give you even more if I could. At least take what I have for now. But in the mean time, I can always use more Tanta Lizardmen blood!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-09.html b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-09.html deleted file mode 100644 index 5a440107aa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Investigator Laki:
-I'm sorry but the recipe and Ingredients of Sealed Moirai Armor will be given to the first adventurer to bring me more than more than 100 vials of of Tanta blood. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-10.html b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-10.html deleted file mode 100644 index 4484c336ef..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Investigator Laki:
-I knew you would help! You truly have the spirit of a keen researcher and adventurer. But my research must continue. If you could bring me more Tanta blood, I'd appreciate it. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-11.html b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-11.html deleted file mode 100644 index 413b11163b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-11.html +++ /dev/null @@ -1,5 +0,0 @@ -Investigator Laki:
-Hm... I can't reward you if there's not enough Tanta blood. Are you quitting?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-12.html b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-12.html deleted file mode 100644 index 4065b8b693..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-12.html +++ /dev/null @@ -1,3 +0,0 @@ -Investigator Laki:
-I see. That's it then. Perhaps you can help next time. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-13.html b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-13.html deleted file mode 100644 index 59a590282a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-13.html +++ /dev/null @@ -1,3 +0,0 @@ -Investigator Laki:
-It is so... And I'm at a loss. We just have to hope for next time. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-14.htm b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-14.htm deleted file mode 100644 index 1b261ca344..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/32742-14.htm +++ /dev/null @@ -1,4 +0,0 @@ -Investigator Laki:
-At first glance, the Plain of Lizardmen is a beautiful world torn from a fantasy book. It's hard to believe the dangers that lurk there, until you see for yourself. These scars are my lesson to that reality, and my investigations are stalled because of it. Don't go unless you are more prepared.
-(Only characters with levels of 82 or above, and completed the "Watch What You Eat" quest can play this quest) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/Q00287_FiguringItOut.java b/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/Q00287_FiguringItOut.java deleted file mode 100644 index 4f7b34cb45..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00287_FiguringItOut/Q00287_FiguringItOut.java +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00287_FiguringItOut; - -import java.util.HashMap; -import java.util.Map; - -import quests.Q00250_WatchWhatYouEat.Q00250_WatchWhatYouEat; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Figuring It Out! (287) - * @author malyelfik - */ -public class Q00287_FiguringItOut extends Quest -{ - // NPCs - private static final int LAKI = 32742; - private static final Map MONSTERS = new HashMap<>(); - - static - { - MONSTERS.put(22768, 509); // Tanta Lizardman Scout - MONSTERS.put(22769, 689); // Tanta Lizardman Warrior - MONSTERS.put(22770, 123); // Tanta Lizardman Soldier - MONSTERS.put(22771, 159); // Tanta Lizardman Berserker - MONSTERS.put(22772, 739); // Tanta Lizardman Archer - MONSTERS.put(22773, 737); // Tanta Lizardman Magician - MONSTERS.put(22774, 261); // Tanta Lizardman Summoner - } - - // Items - private static final int VIAL_OF_TANTA_BLOOD = 15499; - // Rewards - private static final ItemHolder[] MOIRAI = - { - new ItemHolder(15776, 1), - new ItemHolder(15779, 1), - new ItemHolder(15782, 1), - new ItemHolder(15785, 1), - new ItemHolder(15788, 1), - new ItemHolder(15812, 1), - new ItemHolder(15813, 1), - new ItemHolder(15814, 1), - new ItemHolder(15646, 5), - new ItemHolder(15649, 5), - new ItemHolder(15652, 5), - new ItemHolder(15655, 5), - new ItemHolder(15658, 5), - new ItemHolder(15772, 1), - new ItemHolder(15773, 1), - new ItemHolder(15774, 1) - }; - - private static final ItemHolder[] ICARUS = - { - new ItemHolder(10381, 1), - new ItemHolder(10405, 1), - new ItemHolder(10405, 4), - new ItemHolder(10405, 4), - new ItemHolder(10405, 6), - }; - - // Misc - private static final int MIN_LEVEL = 82; - - public Q00287_FiguringItOut() - { - super(287, Q00287_FiguringItOut.class.getSimpleName(), "Figuring It Out!"); - addStartNpc(LAKI); - addTalkId(LAKI); - addKillId(MONSTERS.keySet()); - registerQuestItems(VIAL_OF_TANTA_BLOOD); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "32742-03.htm": - st.startQuest(); - break; - case "Icarus": - if (st.getQuestItemsCount(VIAL_OF_TANTA_BLOOD) >= 500) - { - final ItemHolder holder = ICARUS[getRandom(ICARUS.length)]; - st.giveItems(holder); - st.takeItems(VIAL_OF_TANTA_BLOOD, 500); - st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH); - htmltext = "32742-06.html"; - } - else - { - htmltext = "32742-07.html"; - } - break; - case "Moirai": - if (st.getQuestItemsCount(VIAL_OF_TANTA_BLOOD) >= 100) - { - final ItemHolder holder = MOIRAI[getRandom(MOIRAI.length)]; - st.giveItems(holder); - st.takeItems(VIAL_OF_TANTA_BLOOD, 100); - st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH); - htmltext = "32742-08.html"; - } - else - { - htmltext = "32742-09.html"; - } - break; - case "32742-11.html": - if (!st.hasQuestItems(VIAL_OF_TANTA_BLOOD)) - { - st.exitQuest(true, true); - htmltext = "32742-12.html"; - } - break; - case "32742-13.html": - st.exitQuest(true, true); - break; - case "32742-02.htm": - case "32742-10.html": - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final L2PcInstance partyMember = getRandomPartyMember(player, 1); - if (partyMember == null) - { - return super.onKill(npc, player, isSummon); - } - final QuestState st = getQuestState(partyMember, false); - - if (getRandom(1000) < MONSTERS.get(npc.getId())) - { - st.giveItems(VIAL_OF_TANTA_BLOOD, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - final QuestState prev = player.getQuestState(Q00250_WatchWhatYouEat.class.getSimpleName()); - - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = ((player.getLevel() >= MIN_LEVEL) && (prev != null) && prev.isCompleted()) ? "32742-01.htm" : "32742-14.htm"; - break; - case State.STARTED: - htmltext = (st.getQuestItemsCount(VIAL_OF_TANTA_BLOOD) < 100) ? "32742-04.html" : "32742-05.html"; - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-01.html b/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-01.html deleted file mode 100644 index b1fb140d9c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Researcher Ankumi:
-Good day traveler! I happen to be in need of a sword. You at least look the type...
-(Only characters level 82 and above are permitted to take on this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-02.htm b/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-02.htm deleted file mode 100644 index 2f4d1e004c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Researcher Ankumi:
-Have you ever seen Tanta Seer Ugoros? The scales on Seer Ugoros are of the highest quality of scales I have ever seen. Unfortunately, they are very hard to come by and causing a bit of strain on documenting and cataloging the different types of scales on the Lizardmen. Don't suppose you would be willing to help out, would you?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-03.htm b/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-03.htm deleted file mode 100644 index 7ebea46ab8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Researcher Ankumi:
-Oh, one last thing before you go. There are these plants called Abyss Weed that grow around Tanta Seer Ugoros. When he eats these plants it restores him and turns his scales into armor.
-His scales are of the best quality when he has NOT eaten the abyss weed.
-If you can get me this type of scale your reward might be more than you imagine. Do we have a deal?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-04.html b/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-04.html deleted file mode 100644 index c045faf830..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Researcher Ankumi:
-It's a deal! If you haven't already, speak with Chief Investigator Johnny. He knows a way to see Tanta Seer Ugoros. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-05.html b/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-05.html deleted file mode 100644 index cd7acaff60..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Researcher Ankumi:
-What is taking so long? Having a hard time finding Seer Ugoros? I told you that this would take a while. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-06.html b/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-06.html deleted file mode 100644 index a32dfa16bf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Researcher Ankumi:
-Amazing! This is the best scale I've seen yet! I can now see why Johnny has been envious of your skills. But you are not here to listen to my flattery... you are here to get paid. Don't suppose you would be interested in working for me from time to time?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-07.html b/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-07.html deleted file mode 100644 index a32dfa16bf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Researcher Ankumi:
-Amazing! This is the best scale I've seen yet! I can now see why Johnny has been envious of your skills. But you are not here to listen to my flattery... you are here to get paid. Don't suppose you would be interested in working for me from time to time?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-08.html b/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-08.html deleted file mode 100644 index d7d67b8673..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/32741-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Researcher Ankumi:
-I greatly appreciate it. You said that you would help me again, so stop by when you can, okay? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/Q00288_HandleWithCare.java b/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/Q00288_HandleWithCare.java deleted file mode 100644 index 18cfdde6d7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00288_HandleWithCare/Q00288_HandleWithCare.java +++ /dev/null @@ -1,220 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00288_HandleWithCare; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.util.Util; - -/** - * Handle With Care (288) - * @author Zoey76 - */ -public class Q00288_HandleWithCare extends Quest -{ - // NPC - private static final int ANKUMI = 32741; - // Monster - private static final int SEER_UGOROS = 18863; - // Items - private static final int HIGH_GRADE_LIZARD_SCALE = 15497; - private static final int MIDDLE_GRADE_LIZARD_SCALE = 15498; - private static final int SCROLL_ENCHANT_WEAPON_S_GRADE = 959; - private static final int SCROLL_ENCHANT_ARMOR_S_GRADE = 960; - private static final int HOLY_CRYSTAL = 9557; - private static final ItemHolder[] REWARDS = - { - new ItemHolder(SCROLL_ENCHANT_WEAPON_S_GRADE, 1), - new ItemHolder(SCROLL_ENCHANT_ARMOR_S_GRADE, 1), - new ItemHolder(SCROLL_ENCHANT_ARMOR_S_GRADE, 2), - new ItemHolder(SCROLL_ENCHANT_ARMOR_S_GRADE, 3), - new ItemHolder(HOLY_CRYSTAL, 1), - new ItemHolder(HOLY_CRYSTAL, 2) - }; - // Misc - private static final int MIN_LEVEL = 82; - - public Q00288_HandleWithCare() - { - super(288, Q00288_HandleWithCare.class.getSimpleName(), "Handle With Care"); - addStartNpc(ANKUMI); - addTalkId(ANKUMI); - addKillId(SEER_UGOROS); - registerQuestItems(HIGH_GRADE_LIZARD_SCALE, MIDDLE_GRADE_LIZARD_SCALE); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "32741-03.htm": - { - if (player.getLevel() >= MIN_LEVEL) - { - htmltext = event; - } - break; - } - case "32741-04.html": - { - if (player.getLevel() >= MIN_LEVEL) - { - st.startQuest(); - htmltext = event; - } - break; - } - case "32741-08.html": - { - if (st.isCond(2) || st.isCond(3)) - { - ItemHolder reward = null; - if (st.hasQuestItems(MIDDLE_GRADE_LIZARD_SCALE)) - { - st.takeItems(MIDDLE_GRADE_LIZARD_SCALE, 1); - final int rnd = getRandom(10); - if (rnd == 0) - { - reward = REWARDS[0]; - } - else if (rnd < 4) - { - reward = REWARDS[1]; - } - else if (rnd < 6) - { - reward = REWARDS[2]; - } - else if (rnd < 7) - { - reward = REWARDS[3]; - } - else if (rnd < 9) - { - reward = REWARDS[4]; - } - else - { - reward = REWARDS[5]; - } - } - else if (st.hasQuestItems(HIGH_GRADE_LIZARD_SCALE)) - { - st.takeItems(HIGH_GRADE_LIZARD_SCALE, 1); - final int rnd = getRandom(10); - if (rnd == 0) - { - reward = REWARDS[0]; - } - else if (rnd < 5) - { - reward = REWARDS[1]; - } - else if (rnd < 8) - { - reward = REWARDS[2]; - } - else - { - reward = REWARDS[3]; - } - st.giveItems(REWARDS[4]); - } - if (reward != null) - { - st.giveItems(reward); - } - st.exitQuest(true, true); - htmltext = event; - break; - } - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState st = getQuestState(killer, false); - if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false)) - { - if (!st.hasQuestItems(MIDDLE_GRADE_LIZARD_SCALE)) - { - st.giveItems(MIDDLE_GRADE_LIZARD_SCALE, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - st.setCond(2, true); - } - else if (!st.hasQuestItems(HIGH_GRADE_LIZARD_SCALE)) - { - st.giveItems(HIGH_GRADE_LIZARD_SCALE, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - st.setCond(3, true); - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() < MIN_LEVEL) ? "32741-01.html" : "32741-02.htm"; - break; - case State.STARTED: - if (st.isCond(1) && !st.hasQuestItems(HIGH_GRADE_LIZARD_SCALE) && !st.hasQuestItems(MIDDLE_GRADE_LIZARD_SCALE)) - { - htmltext = "32741-05.html"; - } - else if (st.isCond(2) && st.hasQuestItems(MIDDLE_GRADE_LIZARD_SCALE)) - { - htmltext = "32741-06.html"; - } - - if (st.isCond(2) && st.hasQuestItems(HIGH_GRADE_LIZARD_SCALE)) - { - htmltext = "32741-07.html"; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-00.htm b/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-00.htm deleted file mode 100644 index 7aaba6bcc6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-00.htm +++ /dev/null @@ -1 +0,0 @@ -Guard Stan:
Hello, my friend. We go way back, it is true. We've laughed, we've cried. I told you about my wife, and how she has long toenails. But I can't ask you for any favors right now.
(Only characters level 82 or above who have completed It Smells Delicious can take this quest.) \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-01.htm b/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-01.htm deleted file mode 100644 index d31ed554b8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-01.htm +++ /dev/null @@ -1,3 +0,0 @@ -Guard Stan:
-Hello my friend, we need you help right now. What do yuo think?
- \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-02.htm b/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-02.htm deleted file mode 100644 index f01887f95f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-02.htm +++ /dev/null @@ -1,3 +0,0 @@ -Guard Stan:
-Pinaps thinks that Soup makes Sel Mahums more powerfull! You should steal their food!
- \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-03.htm b/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-03.htm deleted file mode 100644 index 33361178a6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Stan:
-I'll need at least 100 of Full Barrels of Soup. -But, if you bring more, I can offer more and greater rewards. The more, the better. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-04.htm b/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-04.htm deleted file mode 100644 index 81aceb5478..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-04.htm +++ /dev/null @@ -1,5 +0,0 @@ -Guard Stan:
-Oh you returned? Choose what you want.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-07.htm b/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-07.htm deleted file mode 100644 index 56ca986154..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/30200-07.htm +++ /dev/null @@ -1,3 +0,0 @@ -Guard Stan:
-Not enough items. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/Q00289_NoMoreSoupForYou.java b/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/Q00289_NoMoreSoupForYou.java deleted file mode 100644 index 30b824c99d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/Q00289_NoMoreSoupForYou.java +++ /dev/null @@ -1,264 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00289_NoMoreSoupForYou; - -import quests.Q00252_ItSmellsDelicious.Q00252_ItSmellsDelicious; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.util.Util; - -/** - * No More Soup For You (289) - * @author kostantinos - */ -public class Q00289_NoMoreSoupForYou extends Quest -{ - // NPC - public static final int STAN = 30200; - // Item - public static final int SOUP = 15712; - // Misc - public static final int RATE = 5; - - private static final int[] MOBS = - { - 18908, - 22779, - 22786, - 22787, - 22788 - }; - - private static final int[][] WEAPONS = - { - { - 10377, - 1 - }, - { - 10401, - 1 - }, - { - 10401, - 2 - }, - { - 10401, - 3 - }, - { - 10401, - 4 - }, - { - 10401, - 5 - }, - { - 10401, - 6 - } - }; - - private static final int[][] ARMORS = - { - { - 15812, - 1 - }, - { - 15813, - 1 - }, - { - 15814, - 1 - }, - { - 15791, - 1 - }, - { - 15787, - 1 - }, - { - 15784, - 1 - }, - { - 15781, - 1 - }, - { - 15778, - 1 - }, - { - 15775, - 1 - }, - { - 15774, - 5 - }, - { - 15773, - 5 - }, - { - 15772, - 5 - }, - { - 15693, - 5 - }, - { - 15657, - 5 - }, - { - 15654, - 5 - }, - { - 15651, - 5 - }, - { - 15648, - 5 - }, - { - 15645, - 5 - } - }; - - public Q00289_NoMoreSoupForYou() - { - super(289, Q00289_NoMoreSoupForYou.class.getSimpleName(), "No More Soup For You"); - addStartNpc(STAN); - addTalkId(STAN); - addKillId(MOBS); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - QuestState st = getQuestState(player, false); - if (st == null) - { - return htmltext; - } - int b = getRandom(18); - int c = getRandom(7); - - if (npc.getId() == STAN) - { - if (event.equalsIgnoreCase("30200-03.htm")) - { - st.startQuest(); - } - else if (event.equalsIgnoreCase("30200-05.htm")) - { - if (st.getQuestItemsCount(SOUP) >= 500) - { - st.giveItems(WEAPONS[c][0], WEAPONS[c][1]); - st.takeItems(SOUP, 500); - st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); - htmltext = "30200-04.htm"; - } - else - { - htmltext = "30200-07.htm"; - } - } - else if (event.equalsIgnoreCase("30200-06.htm")) - { - if (st.getQuestItemsCount(SOUP) >= 100) - { - st.giveItems(ARMORS[b][0], ARMORS[b][1]); - st.takeItems(SOUP, 100); - st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); - htmltext = "30200-04.htm"; - } - else - { - htmltext = "30200-07.htm"; - } - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - QuestState st = getQuestState(player, false); - int npcId = npc.getId(); - if ((st == null) || (st.getState() != State.STARTED)) - { - return null; - } - if (Util.contains(MOBS, npcId)) - { - st.giveItems(SOUP, 1 * RATE); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - if (npc.getId() == STAN) - { - switch (st.getState()) - { - case State.CREATED: - QuestState _prev = player.getQuestState(Q00252_ItSmellsDelicious.class.getSimpleName()); - htmltext = ((_prev != null) && _prev.isCompleted() && (player.getLevel() >= 82)) ? "30200-01.htm" : "30200-00.htm"; - break; - case State.STARTED: - if (st.isCond(1)) - { - htmltext = (st.getQuestItemsCount(SOUP) >= 100) ? "30200-04.htm" : "30200-03.htm"; - } - break; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-01.htm b/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-01.htm deleted file mode 100644 index 34a35ef58a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Pinaps:
-I carefully inspected the Training Log and Schedule of the Sel Mahums, which you brought it last time. It looks like they are getting trained more systematically than I expected. I guess just finding out the information isn't enough...
If their power gets stronger through this training, it will be a huge threat to this village. Wouldn't you want to help me to stop their training?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-02.html b/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-02.html deleted file mode 100644 index 0a2b4e8b84..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Pinaps:
-The mission is simple: Kill them. The recruits, the instructors, every Sel Mahum you find in the Sel Mahum Training Grounds. They cannot be allowed to continue their training. Gather over 400 Sel Mahum tags and bring them to me. I will reward you.., I know you fight for more than honor. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-03.html b/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-03.html deleted file mode 100644 index d8f895dde7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Pinaps:
-Look recruit, I can't assign this mission to anyone who hasn't survived enough storms, you get me?
-(Only character with level 82 or above and who has performed the No Secret quest can take on this quest). - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-04.html b/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-04.html deleted file mode 100644 index a8e326e793..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Pinaps:
-I'm not paying you by the hour! Let's go! You're not getting anything until I get my 400 Sel Mahum ID Tags. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-05.html b/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-05.html deleted file mode 100644 index 889ce4fc00..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Pinaps:
-You've done my job, the Town of Orean is safe. Thank you, defender... Please accept this gift for your help.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-06.html b/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-06.html deleted file mode 100644 index dcb697e290..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Guard Pinaps:
-Like it or not, this is the best I can get right now. I may be able to do better next time. What do you think? Still game?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-07.html b/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-07.html deleted file mode 100644 index 121d7a8f35..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Pinaps:
-Thanks. I was really hoping you'd say that. When this is over we may share a pint. For now, we carry out the mission. Get rid of those Sel Mahums at the Sel Mahum Training Grounds, and bring more than 400 Sel Mahum tags as evidence. You will be rewarded. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-08.html b/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-08.html deleted file mode 100644 index 021efe5d76..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-08.html +++ /dev/null @@ -1,5 +0,0 @@ -Guard Pinaps:
-I need your help. But unlike me, you are not duty bound, mercenary. Stay or leave. I will not grovel.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-09.html b/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-09.html deleted file mode 100644 index 1959ea12d5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Pinaps:
-Oh, it is. So be it. I respect your skills. May we serve together again someday. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-10.html b/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-10.html deleted file mode 100644 index 6eea89576c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/30201-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Pinaps:
-You're sharp and determined. I think we make a great team. I hope we can work together again. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java b/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java deleted file mode 100644 index c037f83981..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00290_ThreatRemoval; - -import java.util.HashMap; -import java.util.Map; - -import quests.Q00251_NoSecrets.Q00251_NoSecrets; - -import com.l2jserver.Config; -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Threat Removal (290) - * @author Adry_85 - */ -public class Q00290_ThreatRemoval extends Quest -{ - // NPC - private static final int PINAPS = 30201; - // Items - private static final int ENCHANT_WEAPON_S = 959; - private static final int ENCHANT_ARMOR_S = 960; - private static final int FIRE_CRYSTAL = 9552; - private static final int SEL_MAHUM_ID_TAG = 15714; - // Misc - private static final int MIN_LEVEL = 82; - - private static final Map MOBS_TAG = new HashMap<>(); - - static - { - MOBS_TAG.put(22775, 932); // Sel Mahum Drill Sergeant - MOBS_TAG.put(22776, 397); // Sel Mahum Training Officer - MOBS_TAG.put(22777, 932); // Sel Mahum Drill Sergeant - MOBS_TAG.put(22778, 932); // Sel Mahum Drill Sergeant - MOBS_TAG.put(22780, 363); // Sel Mahum Recruit - MOBS_TAG.put(22781, 483); // Sel Mahum Soldier - MOBS_TAG.put(22782, 363); // Sel Mahum Recruit - MOBS_TAG.put(22783, 352); // Sel Mahum Soldier - MOBS_TAG.put(22784, 363); // Sel Mahum Recruit - MOBS_TAG.put(22785, 169); // Sel Mahum Soldier - } - - public Q00290_ThreatRemoval() - { - super(290, Q00290_ThreatRemoval.class.getSimpleName(), "Threat Removal"); - addStartNpc(PINAPS); - addTalkId(PINAPS); - addKillId(MOBS_TAG.keySet()); - registerQuestItems(SEL_MAHUM_ID_TAG); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30201-02.html": - { - st.startQuest(); - htmltext = event; - break; - } - case "30201-06.html": - { - if (st.isCond(1)) - { - st.takeItems(SEL_MAHUM_ID_TAG, 400); - switch (getRandom(10)) - { - case 0: - { - st.rewardItems(ENCHANT_WEAPON_S, 1); - break; - } - case 1: - case 2: - case 3: - { - st.rewardItems(ENCHANT_ARMOR_S, 1); - break; - } - case 4: - case 5: - { - st.rewardItems(ENCHANT_ARMOR_S, 2); - break; - } - case 6: - { - st.rewardItems(ENCHANT_ARMOR_S, 3); - break; - } - case 7: - case 8: - { - st.rewardItems(FIRE_CRYSTAL, 1); - break; - } - case 9: - case 10: - { - st.rewardItems(FIRE_CRYSTAL, 2); - break; - } - } - htmltext = event; - } - break; - } - case "30201-07.html": - { - if (st.isCond(1)) - { - htmltext = event; - } - break; - } - case "exit": - { - if (st.isCond(1)) - { - if (st.hasQuestItems(SEL_MAHUM_ID_TAG)) - { - htmltext = "30201-08.html"; - } - else - { - st.exitQuest(true, true); - htmltext = "30201-09.html"; - } - } - break; - } - case "30201-10.html": - { - if (st.isCond(1)) - { - st.exitQuest(true, true); - htmltext = event; - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final L2PcInstance partyMember = getRandomPartyMember(player, 1); - if (partyMember == null) - { - return super.onKill(npc, player, isSummon); - } - - final QuestState st = getQuestState(partyMember, false); - int npcId = npc.getId(); - float chance = (MOBS_TAG.get(npcId) * Config.RATE_QUEST_DROP); - if (getRandom(1000) < chance) - { - st.rewardItems(SEL_MAHUM_ID_TAG, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - { - st = player.getQuestState(Q00251_NoSecrets.class.getSimpleName()); - htmltext = ((player.getLevel() >= MIN_LEVEL) && (st != null) && (st.isCompleted())) ? "30201-01.htm" : "30201-03.html"; - break; - } - case State.STARTED: - { - if (st.isCond(1)) - { - htmltext = (st.getQuestItemsCount(SEL_MAHUM_ID_TAG) < 400) ? "30201-04.html" : "30201-05.html"; - } - break; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30063-01.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30063-01.html deleted file mode 100644 index e1796f865d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30063-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Lara:
-Emily's imported spice just arrived. Here, take a sniff! Isn't it fragrant?
-As she requested, I ordered a wonderfully aromatic spice! She'll be able to bake a delicious pie!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30063-02.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30063-02.html deleted file mode 100644 index 854abe5179..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30063-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Lara:
-The fruit aroma is pleasant, isn't it? The spice is specially imported! Please take it to Emily. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30063-03.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30063-03.html deleted file mode 100644 index 2bd65fa964..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30063-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Lara:
-Why haven't you returned to Emily yet? Deliver it to her before the fragrance of the spice dissipates. She must be waiting, so please hurry! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30466-01.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30466-01.html deleted file mode 100644 index 5a00782af6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30466-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Bright:
-You again? I'm on duty! What do you need?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30466-02.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30466-02.html deleted file mode 100644 index 1088b826a7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30466-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Bright:
-My mother? Oh yeah, she asked for some fruit. Her bad knee keeps her in the house.
-Can you take her this basket? I can't leave my post. Thank you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30466-03.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30466-03.html deleted file mode 100644 index f67214516a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30466-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Bright:
-Keep it down! I'm on duty here. Are you done? Find someone else to bother. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-01.htm b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-01.htm deleted file mode 100644 index 52b54d6d20..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Emily:
-Do I sound suspicious? At one time, this village was renowned for its hospitality... But then, something terrible happened here... We've been very wary of strangers since that dark day!
-But recently, there have been promising signs... High Priest Sylvan is planning a small tea party after the Sunday worship service at the temple. Worshippers and visitors are all invited! Hopefully, this will bring our village back to life! I want to bake some pies for the party, but I'm out of honey. Could you help me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-02.htm b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-02.htm deleted file mode 100644 index 3a98c667d8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Emily:
-I'd like to take you up on your offer, stranger, but catching bees isn't for the inexperienced. Come back later.
-(Only a character of level 34 or above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-03.htm b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-03.htm deleted file mode 100644 index beb7c71e1b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Emily:
-The highest quality honey can be found in the Beehive, but the insects that guard it are actually wasps! These wasps store honey in a organ called a honey sac inside their body. This is by far the finest honey, but it's extremely scarce! To make a pie I'll need at least 100 honey sacs! Get them by killing Wasp Leaders and Wasp Workers.
-Get 100 honey sacs and bring them to me. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-04.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-04.html deleted file mode 100644 index 76e5e1c096..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Emily:
-Oh.... Very impressive! That was quick work! But now what am I going to do? I don't have the spice I need for the pie! Could you get some for me? You can't bake a fruit pie without fruit spice! Will you help me again?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-05.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-05.html deleted file mode 100644 index 7285791cc5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Emily:
-Hello again! How's the collection of honey sacs going? I need at least 100 honey sacs. Get busy! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-06.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-06.html deleted file mode 100644 index bd0f008f00..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Emily:
-Oh, thank you! Please go and see Miss Lara in the village. She knows the kind of fruit spice I want! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-07.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-07.html deleted file mode 100644 index 987cf983f7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Emily:
-These aren't enough honey sacs! Don't you realize I need to make enough pies for the villagers and the visitors alike? I'll need at least 100 honey sacs! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-08.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-08.html deleted file mode 100644 index 8bdba1c07e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Emily:
-Why are you still here? I need that fruit spice! Get going, you loafer! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-09.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-09.html deleted file mode 100644 index df5d591cba..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-09.html +++ /dev/null @@ -1,4 +0,0 @@ -Emily:
-Oh, wonderful! You brought the spice! You're my hero! But, you see, I've got a problem... There's just one more thing...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-10.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-10.html deleted file mode 100644 index 62b4f6120e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-10.html +++ /dev/null @@ -1,4 +0,0 @@ -Emily:
-My son Bright stands guard at the front gate. He's not allowed to leave his post for personal reasons while he's on duty. When the weather is bad like this, my knees hurt so badly I can't walk!
-Occasionally my son has to leave his post to chase a criminal. Would you go and find him? Get a Fruit Basket from him and bring it to me. I can't walk a step! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-11.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-11.html deleted file mode 100644 index aa8867ca62..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-11.html +++ /dev/null @@ -1,3 +0,0 @@ -Emily:
-I thought you had the spice I needed, but I don't see it on you. Go to the grocery store and get it from Trader Lara! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-12.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-12.html deleted file mode 100644 index 7035e4ebb1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-12.html +++ /dev/null @@ -1,3 +0,0 @@ -Emily:
-You haven't seen my son Bright yet? It won't take long... Please help me! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-13.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-13.html deleted file mode 100644 index c278f78399..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-13.html +++ /dev/null @@ -1,4 +0,0 @@ -Emily:
-Ah, you're back already? Since I've gotten old, when it's cold and damp like this, I can't move around because of my bad knees. Did you bring me the Fruit Basket?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-14.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-14.html deleted file mode 100644 index 8207cd450a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-14.html +++ /dev/null @@ -1,4 +0,0 @@ -Emily:
-You brought the Fruit Basket! It's so refreshing to see a young person that is so helpful! Thank you kindly, dear!
-I'll be baking pies every weekend for the tea at the temple, so if you need something to do, come back and see me! Here's a little something for you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-15.html b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-15.html deleted file mode 100644 index 641d205a84..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/30620-15.html +++ /dev/null @@ -1,3 +0,0 @@ -Emily:
-Didn't you say that you brought the Fruit Basket? Well, where is it? Look, my son's just right around the corner. Go get it for me, would you? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/Q00299_GatherIngredientsForPie.java b/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/Q00299_GatherIngredientsForPie.java deleted file mode 100644 index 28e1692b58..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00299_GatherIngredientsForPie/Q00299_GatherIngredientsForPie.java +++ /dev/null @@ -1,284 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00299_GatherIngredientsForPie; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.QuestItemHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Gather Ingredients for Pie (299) - * @author xban1x - */ -public final class Q00299_GatherIngredientsForPie extends Quest -{ - // NPCs - private static final int LARS = 30063; - private static final int BRIGHT = 30466; - private static final int EMILLY = 30620; - // Monsters - private static final Map MONSTERS_CHANCES = new HashMap<>(2); - // Items - private static final int FRUIT_BASKET = 7136; - private static final int AVELLAN_SPICE = 7137; - private static final int HONEY_POUCH = 7138; - // Rewards - private static final List REWARDS = new ArrayList<>(5); - // Misc - private static final int MIN_LVL = 34; - static - { - MONSTERS_CHANCES.put(20934, 700); // Wasp Worker - MONSTERS_CHANCES.put(20935, 770); // Wasp Leader - REWARDS.add(new QuestItemHolder(57, 400, 2500)); // Adena - REWARDS.add(new QuestItemHolder(1865, 550, 50)); // Varnish - REWARDS.add(new QuestItemHolder(1870, 700, 50)); // Coal - REWARDS.add(new QuestItemHolder(1869, 850, 50)); // Iron Ore - REWARDS.add(new QuestItemHolder(1871, 1000, 50)); // Charcoal - } - - public Q00299_GatherIngredientsForPie() - { - super(299, Q00299_GatherIngredientsForPie.class.getSimpleName(), "Gather Ingredients for Pie"); - addStartNpc(EMILLY); - addTalkId(LARS, BRIGHT, EMILLY); - addKillId(MONSTERS_CHANCES.keySet()); - registerQuestItems(FRUIT_BASKET, HONEY_POUCH, AVELLAN_SPICE); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - String html = null; - if (qs == null) - { - return html; - } - switch (event) - { - case "30063-02.html": - { - if (qs.isCond(3)) - { - giveItems(player, AVELLAN_SPICE, 1); - qs.setCond(4, true); - html = event; - } - break; - } - case "30466-02.html": - { - if (qs.isCond(5)) - { - giveItems(player, FRUIT_BASKET, 1); - qs.setCond(6, true); - html = event; - } - break; - } - case "30620-03.htm": - { - if (qs.isCreated()) - { - qs.startQuest(); - html = event; - } - break; - } - case "30620-06.html": - { - if (qs.isCond(2) && (getQuestItemsCount(player, HONEY_POUCH) >= 100)) - { - takeItems(player, HONEY_POUCH, -1); - qs.setCond(3, true); - html = event; - } - else - { - html = "30620-07.html"; - } - break; - } - case "30620-10.html": - { - if (qs.isCond(4) && hasQuestItems(player, AVELLAN_SPICE)) - { - takeItems(player, AVELLAN_SPICE, -1); - qs.setCond(5, true); - html = event; - } - else - { - html = "30620-11.html"; - } - break; - } - case "30620-14.html": - { - if (qs.isCond(6) && hasQuestItems(player, FRUIT_BASKET)) - { - takeItems(player, FRUIT_BASKET, -1); - final int chance = getRandom(1000); - for (QuestItemHolder holder : REWARDS) - { - if (holder.getChance() > chance) - { - rewardItems(player, holder); - break; - } - } - qs.exitQuest(true, true); - html = event; - } - else - { - html = "30620-15.html"; - } - break; - } - } - return html; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(killer, 1, 3, npc); - if ((qs != null) && (getRandom(1000) < MONSTERS_CHANCES.get(npc.getId())) && (getQuestItemsCount(killer, HONEY_POUCH) < 100)) - { - if (giveItemRandomly(killer, npc, HONEY_POUCH, 1, 2, 100, 1, true)) - { - qs.setCond(2); - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance talker) - { - final QuestState qs = getQuestState(talker, true); - String html = getNoQuestMsg(talker); - switch (npc.getId()) - { - case LARS: - { - switch (qs.getCond()) - { - case 3: - { - html = "30063-01.html"; - break; - } - case 4: - { - html = "30063-03.html"; - break; - } - } - break; - } - case BRIGHT: - { - switch (qs.getCond()) - { - case 5: - { - html = "30466-01.html"; - break; - } - case 6: - { - html = "30466-03.html"; - break; - } - } - break; - } - case EMILLY: - { - switch (qs.getState()) - { - case State.CREATED: - { - html = (talker.getLevel() >= MIN_LVL) ? "30620-01.htm" : "30620-02.htm"; - break; - } - case State.STARTED: - { - switch (qs.getCond()) - { - case 1: - { - html = "30620-05.html"; - break; - } - case 2: - { - if (getQuestItemsCount(talker, HONEY_POUCH) >= 100) - { - html = "30620-04.html"; - } - break; - } - case 3: - { - html = "30620-08.html"; - break; - } - case 4: - { - if (hasQuestItems(talker, AVELLAN_SPICE)) - { - html = "30620-09.html"; - } - break; - } - case 5: - { - html = "30620-12.html"; - break; - } - case 6: - { - if (hasQuestItems(talker, FRUIT_BASKET)) - { - html = "30620-13.html"; - } - break; - } - } - break; - } - } - break; - } - } - return html; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-00.html b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-00.html deleted file mode 100644 index 24db010054..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-00.html +++ /dev/null @@ -1,4 +0,0 @@ -Katensa:
-Hold up there, friend. It is plain to see that you do not possess the level of skill required to take on this mission.
-(Only characters level 82 and above can take on this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-01.htm b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-01.htm deleted file mode 100644 index 389f6ee6df..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Katensa:
-Say, you wouldn't happen to be in need of some work would ya? Have you thought about a rewarding career contributing to the Helvetica Research Facility? We've got a project going, and offer several beneficial packages to our contractors.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-02.htm b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-02.htm deleted file mode 100644 index dea955c620..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Katensa:
-You look like quite the seasoned veteran, know that? Bet you're bored of those old fields... maybe looking for more of a challenge, hmm?
-The Helvetica Research Project has had its eye on those grounds for quite some time now, only those monsters are stopping us from sending staff there to begin construction. What we need are highly skilled people to go in and get rid of those creatures--anyone willing would get plenty of experience and we'd not need to see a penny's worth of the rewards.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-03.htm b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-03.htm deleted file mode 100644 index 16bf1f37b1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Katensa:
-I thought you would see it that way!
-So, what do you say? Do you want some work? If you want, you can start right away.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-04.html b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-04.html deleted file mode 100644 index 0a44471294..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-04.html +++ /dev/null @@ -1,7 +0,0 @@ -Katensa:
-Well, Phase 1 of the project is to rid the Fields of Silence and Whispering of the creatures there... they are pretty much halting development.
-You'll most likely face Mucrokian Fanatics, Mucrokian Ascetics, Mucrokian Saviors, Mucrokian Preachers and Contaminated Mucrokians. Oh, and be on the look out for Awakened Mucrokians. They're incredibly fierce and more than a little cranky after slumbering all these years. They'll probably be the biggest threat you'll face.
-Now here's how payment works:
-We have several packages based on the number of Mucrokian Hides you bring us. Each package will vary in cost for Mucrokian Hide. However, due to the difficulty in bringing down one of those Awakened Mucrokians, if you manage to bring us back those hides it will be worth double. So as an example, say you have 100 Awakened Mucrokian Hides, and say there is a package that requires 200 Mucrokian Hides. You can turn in those 100 Hides to claim that package.
-And that's it! Come see me when you are ready to cash in on your work. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-05.html b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-05.html deleted file mode 100644 index 8afd975255..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Katensa:
-Haven't you left yet? The monsters that you need to capture are the Mucrokian Fanatics, Mucrokian Ascetics, Mucrokian Saviors, Mucrokian Preachers, and Contaminated Mucrokians.
-And remember that additional rewards will be given for the Contaminated Mucrokians! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-06.html b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-06.html deleted file mode 100644 index 90753723d6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-06.html +++ /dev/null @@ -1,7 +0,0 @@ -Katensa:
-Done yet? I'm curious about how much cooperation there was in the Reed Field.
-Show me proof your Mucrokians kills!
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-07.html b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-07.html deleted file mode 100644 index 43122b820b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-07.html +++ /dev/null @@ -1,5 +0,0 @@ -Katensa:
-I like the way that you work. Dedicated. Get back to the fields and get rid of the Mucrokian threat. Remember to collect hides from the Mucrokian Fanatic, Mucrokian Ascetic, Mucrokian Savior, Mucrokian Preacher, and Contaminated Mucrokian...
-Oh, and if you get an Awakened Mucrokian Hide, that reduces the amount of hides required to claim a reward.
-See ya in a bit. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-08.html b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-08.html deleted file mode 100644 index 022a7dbe17..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-08.html +++ /dev/null @@ -1,11 +0,0 @@ -Katensa:
-I like how you are impatient to settle even with a loss on your books. Do you have the required number of Mucrokian Skins or Awakened Mucrokian Skins ready?
-As I told you, I will pay you twice for the Awakened Mucrokian Skins obtained from the Awakened Mucrokians. Also, when calculating for the Dynasty ingredient item, I will calculate the Awakened Mucrokians first. Now, what will you receive?
- - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-09.html b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-09.html deleted file mode 100644 index 18ef0ff20c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-09.html +++ /dev/null @@ -1,11 +0,0 @@ -Katensa:
-Oh... You have completed Dr. Hell Doscozer's request! I'll give you a very fair price for the Mucrokian Skins. You only need to bring the right number of Mucrokian Skins or Awakened Mucrokian Skins.
-As I told you, I will pay you twice for the Mutated Mucrokian Skins, but also, when calculating for the Dynasty ingredient item, I will calculate the Awakened Mucrokian Skins first. Now, which will you receive?
- - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-10.html b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-10.html deleted file mode 100644 index 487a0083bb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-10.html +++ /dev/null @@ -1,5 +0,0 @@ -Katensa:
-You can quit any time you you want, I can't stop ya. But before ya go, do you have any hides you want to turn in for the rewards?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-11.html b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-11.html deleted file mode 100644 index c2c6b92ef4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-11.html +++ /dev/null @@ -1,3 +0,0 @@ -Katensa:
-Well, alright. Then good bye! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-12.html b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-12.html deleted file mode 100644 index d9dd351131..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-12.html +++ /dev/null @@ -1,6 +0,0 @@ -Katensa:
-Hmm... You haven't completed Dr. Hell Doscozer's request. We can't fully trust you yet. If you decide you've finished your mission now, I'll have to deduct a fee from the reward.
-How about it? Do you want the full reward later, or do you want to receive the reward now even if you'll have a smaller amount?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-13.html b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-13.html deleted file mode 100644 index ebf4839498..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-13.html +++ /dev/null @@ -1,6 +0,0 @@ -Katensa:
-Um... unless my math is wrong, which it ain't, you don't have enough hides for that particular reward. Come see me again after you get more Mucrokian Hides.
-Anything else?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-14.html b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-14.html deleted file mode 100644 index 4b0aa9a45e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-14.html +++ /dev/null @@ -1,6 +0,0 @@ -Katensa:
-I'll take those Mucrokian Hides, and here is the item you requested. Some of the finest work I have seen.
-Are you ready for more work or do you need a breather?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-15.html b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-15.html deleted file mode 100644 index 54166d0b28..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/32646-15.html +++ /dev/null @@ -1,4 +0,0 @@ -Katensa:
-Are looking down on our intelligence? Did you think I wouldn't know that you're already carrying on a mission in the purified ceremony hall? Don't you even dream about taking on this mission.
-(This quest cannot be taken on in conjunction with the Group Exercise quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java b/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java deleted file mode 100644 index ab4517a712..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java +++ /dev/null @@ -1,263 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00308_ReedFieldMaintenance; - -import java.util.HashMap; -import java.util.Map; - -import quests.Q00238_SuccessFailureOfBusiness.Q00238_SuccessFailureOfBusiness; -import quests.Q00309_ForAGoodCause.Q00309_ForAGoodCause; - -import com.l2jserver.Config; -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.network.serverpackets.RadarControl; -import com.l2jserver.gameserver.util.Util; - -/** - * Reed Field Maintenance (308)
- * Original Jython script by Bloodshed. - * @author Joxit - */ -public class Q00308_ReedFieldMaintenance extends Quest -{ - // NPC - private static final int KATENSA = 32646; - // Mobs - private static final int AWAKENED_MUCROKIAN = 22655; - private static final Map MUCROKIAN = new HashMap<>(); - static - { - MUCROKIAN.put(22650, 218); // Mucrokian Fanatic - MUCROKIAN.put(22651, 258); // Mucrokian Ascetic - MUCROKIAN.put(22652, 248); // Mucrokian Savior - MUCROKIAN.put(22653, 290); // Mucrokian Preacher - MUCROKIAN.put(22654, 220); // Contaminated Mucrokian - MUCROKIAN.put(22655, 124); // Awakened Mucrokian - } - - // Items - private static final int MUCROKIAN_HIDE = 14871; - private static final int AWAKENED_MUCROKIAN_HIDE = 14872; - // Rewards - private static final int REC_DYNASTY_EARRINGS_70 = 9985; - private static final int REC_DYNASTY_NECKLACE_70 = 9986; - private static final int REC_DYNASTY_RING_70 = 9987; - private static final int REC_DYNASTY_SIGIL_60 = 10115; - - private static final int[] MOIRAI_RECIPES = - { - 15777, - 15780, - 15783, - 15786, - 15789, - 15790, - 15814, - 15813, - 15812 - }; - - private static final int[] MOIRAI_PIECES = - { - 15647, - 15650, - 15653, - 15656, - 15659, - 15692, - 15772, - 15773, - 15774 - }; - - // Misc - private static final int MIN_LEVEL = 82; - - public Q00308_ReedFieldMaintenance() - { - super(308, Q00308_ReedFieldMaintenance.class.getSimpleName(), "Reed Field Maintenance"); - addStartNpc(KATENSA); - addTalkId(KATENSA); - addKillId(MUCROKIAN.keySet()); - } - - private boolean canGiveItem(QuestState st, int quanty) - { - long mucrokian = st.getQuestItemsCount(MUCROKIAN_HIDE); - long awakened = st.getQuestItemsCount(AWAKENED_MUCROKIAN_HIDE); - if (awakened > 0) - { - if (awakened >= (quanty / 2)) - { - st.takeItems(AWAKENED_MUCROKIAN_HIDE, (quanty / 2)); - return true; - } - else if (mucrokian >= (quanty - (awakened * 2))) - { - st.takeItems(AWAKENED_MUCROKIAN_HIDE, awakened); - st.takeItems(MUCROKIAN_HIDE, (quanty - (awakened * 2))); - return true; - } - } - else if (mucrokian >= quanty) - { - st.takeItems(MUCROKIAN_HIDE, quanty); - return true; - } - return false; - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "32646-02.htm": - case "32646-03.htm": - case "32646-06.html": - case "32646-07.html": - case "32646-08.html": - case "32646-10.html": - htmltext = event; - break; - case "32646-04.html": - st.startQuest(); - player.sendPacket(new RadarControl(0, 2, 77325, 205773, -3432)); - htmltext = event; - break; - case "claimreward": - final QuestState q238 = player.getQuestState(Q00238_SuccessFailureOfBusiness.class.getName()); - htmltext = ((q238 != null) && q238.isCompleted()) ? "32646-09.html" : "32646-12.html"; - break; - case "100": - case "120": - htmltext = onItemExchangeRequest(st, MOIRAI_PIECES[getRandom(MOIRAI_PIECES.length - 1)], Integer.parseInt(event)); - break; - case "192": - case "230": - htmltext = onItemExchangeRequest(st, REC_DYNASTY_EARRINGS_70, Integer.parseInt(event)); - break; - case "256": - case "308": - htmltext = onItemExchangeRequest(st, REC_DYNASTY_NECKLACE_70, Integer.parseInt(event)); - break; - case "128": - case "154": - htmltext = onItemExchangeRequest(st, REC_DYNASTY_RING_70, Integer.parseInt(event)); - break; - case "206": - case "246": - htmltext = onItemExchangeRequest(st, REC_DYNASTY_SIGIL_60, Integer.parseInt(event)); - break; - case "180": - case "216": - htmltext = onItemExchangeRequest(st, MOIRAI_RECIPES[getRandom(MOIRAI_RECIPES.length - 1)], Integer.parseInt(event)); - break; - case "32646-11.html": - st.exitQuest(true, true); - htmltext = event; - break; - } - return htmltext; - } - - private String onItemExchangeRequest(QuestState st, int item, int quanty) - { - String htmltext; - if (canGiveItem(st, quanty)) - { - if (Util.contains(MOIRAI_PIECES, item)) - { - st.giveItems(item, getRandom(1, 4)); - } - else - { - st.giveItems(item, 1); - } - st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH); - htmltext = "32646-14.html"; - } - else - { - htmltext = "32646-13.html"; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final L2PcInstance partyMember = getRandomPartyMember(killer, 1); - if (partyMember != null) - { - final QuestState st = getQuestState(partyMember, false); - float chance = (MUCROKIAN.get(npc.getId()) * Config.RATE_QUEST_DROP); - if (getRandom(1000) < chance) - { - if (npc.getId() == AWAKENED_MUCROKIAN) - { - st.giveItems(AWAKENED_MUCROKIAN_HIDE, 1); - } - else - { - st.giveItems(MUCROKIAN_HIDE, 1); - } - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance talker) - { - String htmltext = getNoQuestMsg(talker); - final QuestState st = getQuestState(talker, true); - if (st == null) - { - return htmltext; - } - - final QuestState q309 = talker.getQuestState(Q00309_ForAGoodCause.class.getSimpleName()); - if ((q309 != null) && q309.isStarted()) - { - htmltext = "32646-15.html"; - } - else if (st.isStarted()) - { - htmltext = (st.hasQuestItems(MUCROKIAN_HIDE) || st.hasQuestItems(AWAKENED_MUCROKIAN_HIDE)) ? "32646-06.html" : "32646-05.html"; - } - else - { - htmltext = (talker.getLevel() >= MIN_LEVEL) ? "32646-01.htm" : "32646-00.html"; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-00.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-00.html deleted file mode 100644 index 561b647fea..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-00.html +++ /dev/null @@ -1,4 +0,0 @@ -Apprentice Atra:
-I mean no disrespect, but you look a little puny to me. Even if I were to explain to you what is happening here, I doubt that you could help us.
-(Quest only available for characters level 82 and above) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-01.htm b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-01.htm deleted file mode 100644 index 8e0623cffd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Apprentice Atra:
-Those Dwarves, they only have hammer and chisel in their brain. And sometimes I think that Dr. Helvetica is the worst one of the bunch! If he is allowed to be successful, he will bring calamity and devastation to this land.
-Athenia leads a group of people devoted to stopping the good doctor's plans. And now that I know you have been accepted as one of us, I have a mission for you and you alone.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-02.htm b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-02.htm deleted file mode 100644 index f3340060a1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Apprentice Atra:
-This land belongs to Eva, and as followers of Eva, we each have an obligation to uphold her beliefs and tenets. Those idiotic dwarves from the Helvetica Development Base know nothing about the delicate balance of nature; that is why we are here. We are the crusaders of nature, if you will. We fight to preserve that which nature has given to us.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-03.htm b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-03.htm deleted file mode 100644 index 37bcb88513..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Apprentice Atra:
-Athenia must have been wrong about you. Perhaps you should go hang out with your buddies over at the Helvetica Research Base.
-You clearly do not understand our purpose here.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-04.htm b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-04.htm deleted file mode 100644 index 82b4e3b642..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Apprentice Atra:
-This movement's motto is "Education, Preservation, Dedication". If you have taken our pledge, then you must help us uphold these tenets. In order to return this place back to its former glory, we need to eradicate the Mucrokians. The lands between the Fields of Silence and the Field of Whispers is overrun with them. Please help us... before it is too late.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-05.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-05.html deleted file mode 100644 index 642585eb21..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Apprentice Atra:
-The Mucrokians stimulate the contamination of this region. And for that reason, they must be exterminated.
-Hunt down Mucrokian Fanatics, Mucrokian Ascetics, Mucrokian Saviors, Mucrokian Preachers and Awakened Mucrokians. Tear off the hide of each one you kill. Amidst their ranks you will also find Contaminated Mucrokians. For each of these that you kill, you will be able to salvage two hides.
-Collect as many as you can, and return to me. If you've brought enough, I will exchange them for Dynasty accessory recipes. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-06.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-06.html deleted file mode 100644 index 1612bf9991..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Apprentice Atra:
-Why haven't you left yet? As I said before, seek out Mucrokian Fanatics, Mucrokian Ascetics, Mucrokian Saviors, Mucrokian Preachers, Awakened Mucrokians and Contaminated Mucrokians. Tear off the hide of each one you kill and bring them back to me. You can find these ghastly beasts between the Fields of Silence and the Field of Whispers.
-Now hurry! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-07.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-07.html deleted file mode 100644 index bf3b522fc8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Apprentice Atra:
-You'd best curb your tongue before I yank it out of your skull. Clearly, you are not the person Athenia thinks you are.
-Be gone before something terrible befalls you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-08.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-08.html deleted file mode 100644 index 04b85b0dc7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-08.html +++ /dev/null @@ -1,6 +0,0 @@ -Apprentice Atra:
-Ah, you've finally returned! What would you like to do next?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-09.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-09.html deleted file mode 100644 index 3368fe18bf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-09.html +++ /dev/null @@ -1,6 +0,0 @@ -Apprentice Atra:
-You have not completed the Ceremony of Purification task. We cannot trust somebody who does not perform the mission. If you are like this, we have no choice to charge you a fee out of your reward.
-How about that? If you carry out the mission, you cannot get rewarded wholly, but do you still want to get a reward after the mission? Will you just receive your reward now with a little loss?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-10.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-10.html deleted file mode 100644 index 281f244645..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-10.html +++ /dev/null @@ -1,12 +0,0 @@ -Apprentice Atra:
-You must be in a hurry. Anyway, the reward items are as follows: You can choose an item of your choice if you have enough Mucrokian Hide or Contaminated Mucrokian Hide.
-Contaminated Mucrokian Hide will be double the price of the other hides. Except, Contaminated Mucrokian Hide will be settled first during the settlement.
-What would you like?
- - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-11.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-11.html deleted file mode 100644 index ae3445ffbd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-11.html +++ /dev/null @@ -1,12 +0,0 @@ -Apprentice Atra:
-You can choose an item of your choice if you have enough Mucrokian Hides or Contaminated Mucrokian Hides.
-Contaminated Mucrokian Hide are worth more and count as much as double of a normal Mucrokian Hide. In fact, we tend to favor those more and they will be deducted first those first before accepting normal Mucrokian Hides.
-What would you like?
- - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-12.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-12.html deleted file mode 100644 index 19847b776a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-12.html +++ /dev/null @@ -1,4 +0,0 @@ -Apprentice Atra:
-Alright! Hurry and hunt down Mucrokian Fanatic, Mucrokian Ascetic, Mucrokian Savior, Mucrokian Preacher, Awakened Mucrokian.
-Please do not forget that I have informed you about special reward for Awakened Mucrokian. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-13.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-13.html deleted file mode 100644 index 4fd9053c0a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-13.html +++ /dev/null @@ -1,5 +0,0 @@ -Apprentice Atra:
-How about receiving the reward before you quit? I'm just letting you know since there is an evidence of hunting.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-14.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-14.html deleted file mode 100644 index 65c6bcf207..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-14.html +++ /dev/null @@ -1,3 +0,0 @@ -Apprentice Atra:
-Alright. I understand. It's regrettable but I will have to look for someone else. Then good bye. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-15.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-15.html deleted file mode 100644 index 56004a3d71..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-15.html +++ /dev/null @@ -1,6 +0,0 @@ -Apprentice Atra:
-Thank you for making efforts for us, but we need more pelts. It would be difficult to give you that item.
-Please try harder.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-16.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-16.html deleted file mode 100644 index b7837a5cec..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-16.html +++ /dev/null @@ -1,5 +0,0 @@ -Apprentice Atra:
-I'll take those hides, and here is the item you requested.
-Are you ready for more work?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-17.html b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-17.html deleted file mode 100644 index 2005b06b8c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/32647-17.html +++ /dev/null @@ -1,4 +0,0 @@ -Apprentice Atra:
-I know that you've already been in charge of helping Dwarves at the Reed Field Development Base, Are you spying around? I suggest you to leave as soon as possible.
-(This quest cannot be performed at the same time with the movement participation quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java b/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java deleted file mode 100644 index 43ad9ad835..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00309_ForAGoodCause; - -import java.util.HashMap; -import java.util.Map; - -import quests.Q00239_WontYouJoinUs.Q00239_WontYouJoinUs; -import quests.Q00308_ReedFieldMaintenance.Q00308_ReedFieldMaintenance; - -import com.l2jserver.Config; -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.network.serverpackets.RadarControl; -import com.l2jserver.gameserver.util.Util; - -/** - * For A Good Cause (309) - * @author nonom, Zoey76, Joxit - * @version 2011/09/30 based on official server Naia - */ -public class Q00309_ForAGoodCause extends Quest -{ - // NPC - private static final int ATRA = 32647; - // Mobs - private static final int CORRUPTED_MUCROKIAN = 22654; - private static final Map MUCROKIANS = new HashMap<>(); - static - { - MUCROKIANS.put(22650, 218); // Mucrokian Fanatic - MUCROKIANS.put(22651, 258); // Mucrokian Ascetic - MUCROKIANS.put(22652, 248); // Mucrokian Savior - MUCROKIANS.put(22653, 290); // Mucrokian Preacher - MUCROKIANS.put(22654, 124); // Contaminated Mucrokian - MUCROKIANS.put(22655, 220); // Awakened Mucrokian - } - - // Items - private static final int MUCROKIAN_HIDE = 14873; - private static final int FALLEN_MUCROKIAN_HIDE = 14874; - // Rewards - private static final int REC_DYNASTY_EARRINGS_70 = 9985; - private static final int REC_DYNASTY_NECKLACE_70 = 9986; - private static final int REC_DYNASTY_RING_70 = 9987; - private static final int REC_DYNASTY_SIGIL_60 = 10115; - - private static final int[] MOIRAI_RECIPES = - { - 15777, - 15780, - 15783, - 15786, - 15789, - 15790, - 15814, - 15813, - 15812 - }; - - private static final int[] MOIRAI_PIECES = - { - 15647, - 15650, - 15653, - 15656, - 15659, - 15692, - 15772, - 15773, - 15774 - }; - - // Misc - private static final int MIN_LEVEL = 82; - - public Q00309_ForAGoodCause() - { - super(309, Q00309_ForAGoodCause.class.getSimpleName(), "For A Good Cause"); - addStartNpc(ATRA); - addTalkId(ATRA); - addKillId(MUCROKIANS.keySet()); - } - - private boolean canGiveItem(QuestState st, int quanty) - { - long mucrokian = st.getQuestItemsCount(MUCROKIAN_HIDE); - long fallen = st.getQuestItemsCount(FALLEN_MUCROKIAN_HIDE); - if (fallen > 0) - { - if (fallen >= (quanty / 2)) - { - st.takeItems(FALLEN_MUCROKIAN_HIDE, (quanty / 2)); - return true; - } - else if (mucrokian >= (quanty - (fallen * 2))) - { - st.takeItems(FALLEN_MUCROKIAN_HIDE, fallen); - st.takeItems(MUCROKIAN_HIDE, (quanty - (fallen * 2))); - return true; - } - } - else if (mucrokian >= quanty) - { - st.takeItems(MUCROKIAN_HIDE, quanty); - return true; - } - return false; - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "32647-02.htm": - case "32647-03.htm": - case "32647-04.htm": - case "32647-08.html": - case "32647-10.html": - case "32647-12.html": - case "32647-13.html": - htmltext = event; - break; - case "32647-05.html": - st.startQuest(); - player.sendPacket(new RadarControl(0, 2, 77325, 205773, -3432)); - htmltext = event; - break; - case "claimreward": - final QuestState q239 = player.getQuestState(Q00239_WontYouJoinUs.class.getSimpleName()); - htmltext = ((q239 != null) && q239.isCompleted()) ? "32647-11.html" : "32647-09.html"; - break; - case "100": - case "120": - htmltext = onItemExchangeRequest(st, MOIRAI_PIECES[getRandom(MOIRAI_PIECES.length - 1)], Integer.parseInt(event)); - break; - case "192": - case "230": - htmltext = onItemExchangeRequest(st, REC_DYNASTY_EARRINGS_70, Integer.parseInt(event)); - break; - case "256": - case "308": - htmltext = onItemExchangeRequest(st, REC_DYNASTY_NECKLACE_70, Integer.parseInt(event)); - break; - case "128": - case "154": - htmltext = onItemExchangeRequest(st, REC_DYNASTY_RING_70, Integer.parseInt(event)); - break; - case "206": - case "246": - htmltext = onItemExchangeRequest(st, REC_DYNASTY_SIGIL_60, Integer.parseInt(event)); - break; - case "180": - case "216": - htmltext = onItemExchangeRequest(st, MOIRAI_RECIPES[getRandom(MOIRAI_RECIPES.length - 1)], Integer.parseInt(event)); - break; - case "32647-14.html": - case "32647-07.html": - st.exitQuest(true, true); - htmltext = event; - break; - } - return htmltext; - } - - private String onItemExchangeRequest(QuestState st, int item, int quanty) - { - String htmltext; - if (canGiveItem(st, quanty)) - { - if (Util.contains(MOIRAI_PIECES, item)) - { - st.giveItems(item, getRandom(1, 4)); - } - else - { - st.giveItems(item, 1); - } - st.playSound(QuestSound.ITEMSOUND_QUEST_FINISH); - htmltext = "32646-16.htm"; - } - else - { - htmltext = "32646-15.htm"; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final L2PcInstance partyMember = getRandomPartyMember(killer, 1); - if (partyMember != null) - { - final QuestState st = getQuestState(partyMember, false); - float chance = (MUCROKIANS.get(npc.getId()) * Config.RATE_QUEST_DROP); - if (getRandom(1000) < chance) - { - if (npc.getId() == CORRUPTED_MUCROKIAN) - { - st.giveItems(FALLEN_MUCROKIAN_HIDE, 1); - st.rewardItems(FALLEN_MUCROKIAN_HIDE, 1); - } - else - { - st.giveItems(MUCROKIAN_HIDE, 1); - } - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance talker) - { - String htmltext = getNoQuestMsg(talker); - final QuestState st = getQuestState(talker, true); - if (st == null) - { - return htmltext; - } - - final QuestState q308 = talker.getQuestState(Q00308_ReedFieldMaintenance.class.getSimpleName()); - if ((q308 != null) && q308.isStarted()) - { - htmltext = "32647-17.html"; - } - else if (st.isStarted()) - { - htmltext = (st.hasQuestItems(MUCROKIAN_HIDE) || st.hasQuestItems(FALLEN_MUCROKIAN_HIDE)) ? "32647-08.html" : "32647-06.html"; - } - else - { - htmltext = (talker.getLevel() >= MIN_LEVEL) ? "32647-01.htm" : "32647-00.html"; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-01.htm b/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-01.htm deleted file mode 100644 index 4994bfa35e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Cheiren:
-Us beacon watchers have been observing the Ragna Orcs for quite some time now. We've done all we can since the sparks of rebellion first erupted from their lands, but our efforts to control them have been fruitless so far.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-02.htm b/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-02.htm deleted file mode 100644 index d5f61a901e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Cheiren:
-We Beacon Watchers have long watched the movements of the Ragna Orcs. Despite our efforts, though, rebellion seems inevitable.
-We have failed...
-Ah, but this is none of your concern. If you value your life, take my advice and leave this area as quickly as you can!
-(Only characters who are level 80 and higher may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-03.htm b/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-03.htm deleted file mode 100644 index c24ab70df0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Cheiren:
-In their arrogance, the Ragna Orcs summoned the power of the evil spirit Kasha. Now Kasha has corrupted them, making them even more vicious and dangerous.
-Unless we can stop them, all the Orc tribes will be in grave danger...
-Will you help us?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-04.htm b/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-04.htm deleted file mode 100644 index e30d691444..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-04.htm +++ /dev/null @@ -1,5 +0,0 @@ -Cheiren:
-Let me tell you about the mission.
-Hunt Ragna Orcs and the Evil Spirit of Baranka, the Destroyer of Baranka. Since they are possessed by evil spirits emanating from the Ragna Orc Amulets they wear, you must retrieve those accursed pendants. The more you bring me, the higher your reward.
-Some Ragna Orcs carry the Soul Core Containing Evil Spirit instead of an amulet. If you collect 10 of those, you may challenge the Leader of the Ragna Orcs to a duel. Do not do so lightly! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-05.html b/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-05.html deleted file mode 100644 index a7fee9bbc9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-05.html +++ /dev/null @@ -1,7 +0,0 @@ -Cheiren:
-What's holding you back? If you're not up for this mission, you'd better let me know now...
-Otherwise, go hunt Ragna Orcs and the Evil Spirit of Baranka, the Destroyer of Baranka. Since they are possessed by evil spirits emanating from the Ragna Orc Amulets they wear, you must retrieve those accursed pendants. The more you bring me, the higher your reward.
-Some Ragna Orcs carry the Soul Core Containing Evil Spirit instead of an amulet. If you collect 10 of those, you may challenge the Leader of the Ragna Orcs to a duel. Do not do so lightly!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-06.html b/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-06.html deleted file mode 100644 index 960b1a123e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Cheiren:
-How did you do? If you present proof of the courage that you displayed, I will give you a fitting reward.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-11.html b/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-11.html deleted file mode 100644 index 784498c332..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-11.html +++ /dev/null @@ -1,7 +0,0 @@ -Cheiren:
-You have brought back 10 Soul Cores! If I combine the power of these cores with this pendant... like... so. This is the Guardian Spirit's Pendant! This item is absolutely necessary to stand against Varangka, the chief of the Ragna Orcs. Without this item, you will not be able to endure his evil powers.
-Go west to Kasha's Altar and defeat him, and the power of the evil spirits in this place will be greatly decreased.
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-12.html b/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-12.html deleted file mode 100644 index 26095af068..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-12.html +++ /dev/null @@ -1,7 +0,0 @@ -Cheiren:
-There must be at least 10 Soul Cores Containing Evil Spirits. You did not bring back 10.
-Is there anything else?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-13.html b/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-13.html deleted file mode 100644 index b07ea61d60..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-13.html +++ /dev/null @@ -1,4 +0,0 @@ -Cheiren:
-You want to leave? Very well. I must respect your decision, and I thank you for your service.
-If we Orcs survive this threat, you will always be welcome at our hearths... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-14.html b/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-14.html deleted file mode 100644 index 27026b4219..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-14.html +++ /dev/null @@ -1,3 +0,0 @@ -Cheiren:
-Are you sure you want to stop? You still have items you haven't traded yet. Why not do so first? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-15.html b/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-15.html deleted file mode 100644 index 84e7a70a48..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/32655-15.html +++ /dev/null @@ -1,3 +0,0 @@ -Cheiren:
-I'm counting on you! Do not fail us! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/Q00311_ExpulsionOfEvilSpirits.java b/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/Q00311_ExpulsionOfEvilSpirits.java deleted file mode 100644 index adca8bc9fa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00311_ExpulsionOfEvilSpirits/Q00311_ExpulsionOfEvilSpirits.java +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00311_ExpulsionOfEvilSpirits; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Expulsion of Evil Spirits (311) - * @author Zoey76 - */ -public final class Q00311_ExpulsionOfEvilSpirits extends Quest -{ - // NPC - private static final int CHAIREN = 32655; - // Items - private static final int PROTECTION_SOULS_PENDANT = 14848; - private static final int SOUL_CORE_CONTAINING_EVIL_SPIRIT = 14881; - private static final int RAGNA_ORCS_AMULET = 14882; - // Misc - private static final int MIN_LEVEL = 80; - private static final int SOUL_CORE_COUNT = 10; - private static final int RAGNA_ORCS_KILLS_COUNT = 100; - private static final int RAGNA_ORCS_AMULET_COUNT = 10; - // Monsters - private static final Map MONSTERS = new HashMap<>(); - static - { - MONSTERS.put(22691, 0.694); // Ragna Orc - MONSTERS.put(22692, 0.716); // Ragna Orc Warrior - MONSTERS.put(22693, 0.736); // Ragna Orc Hero - MONSTERS.put(22694, 0.712); // Ragna Orc Commander - MONSTERS.put(22695, 0.698); // Ragna Orc Healer - MONSTERS.put(22696, 0.692); // Ragna Orc Shaman - MONSTERS.put(22697, 0.640); // Ragna Orc Seer - MONSTERS.put(22698, 0.716); // Ragna Orc Archer - MONSTERS.put(22699, 0.752); // Ragna Orc Sniper - MONSTERS.put(22701, 0.716); // Varangka's Dre Vanul - MONSTERS.put(22702, 0.662); // Varangka's Destroyer - } - - public Q00311_ExpulsionOfEvilSpirits() - { - super(311, Q00311_ExpulsionOfEvilSpirits.class.getSimpleName(), "Expulsion of Evil Spirits"); - addStartNpc(CHAIREN); - addTalkId(CHAIREN); - addKillId(MONSTERS.keySet()); - registerQuestItems(SOUL_CORE_CONTAINING_EVIL_SPIRIT, RAGNA_ORCS_AMULET); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - if (player.getLevel() < MIN_LEVEL) - { - return null; - } - - switch (event) - { - case "32655-03.htm": - case "32655-15.html": - { - htmltext = event; - break; - } - case "32655-04.htm": - { - qs.startQuest(); - htmltext = event; - break; - } - case "32655-11.html": - { - if (getQuestItemsCount(player, SOUL_CORE_CONTAINING_EVIL_SPIRIT) >= SOUL_CORE_COUNT) - { - takeItems(player, SOUL_CORE_CONTAINING_EVIL_SPIRIT, SOUL_CORE_COUNT); - giveItems(player, PROTECTION_SOULS_PENDANT, 1); - htmltext = event; - } - else - { - htmltext = "32655-12.html"; - } - break; - } - case "32655-13.html": - { - if (!hasQuestItems(player, SOUL_CORE_CONTAINING_EVIL_SPIRIT) && (getQuestItemsCount(player, RAGNA_ORCS_AMULET) >= RAGNA_ORCS_AMULET_COUNT)) - { - qs.exitQuest(true, true); - htmltext = event; - } - else - { - htmltext = "32655-14.html"; - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(killer, 1, 2, npc); - if (qs != null) - { - final int count = qs.getMemoStateEx(1) + 1; - if ((count >= RAGNA_ORCS_KILLS_COUNT) && (getRandom(20) < ((count % 100) + 1))) - { - qs.setMemoStateEx(1, 0); - qs.giveItems(SOUL_CORE_CONTAINING_EVIL_SPIRIT, 1); - qs.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else - { - qs.setMemoStateEx(1, count); - } - - qs.giveItemRandomly(npc, RAGNA_ORCS_AMULET, 1, 0, MONSTERS.get(npc.getId()), true); - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs == null) - { - return htmltext; - } - - if (qs.isCreated()) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "32655-01.htm" : "32655-02.htm"; - } - else if (qs.isStarted()) - { - htmltext = !hasQuestItems(player, SOUL_CORE_CONTAINING_EVIL_SPIRIT, RAGNA_ORCS_AMULET) ? "32655-05.html" : "32655-06.html"; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-00.htm b/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-00.htm deleted file mode 100644 index c47dd8093d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-00.htm +++ /dev/null @@ -1,5 +0,0 @@ -Elder Filaur:
-Have you heard about what's happening in the Mithril Mine? Those nasty Wererats have infested it!
-I'm not sure what they are up to, but a powerful evil force is spreading there... You're obviously too inexperienced to do anything useful, though. Take care not to get in the way or you'll probably wind up dead!
-(Only characters who are level 80 or higher may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-01.htm b/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-01.htm deleted file mode 100644 index eb7912ecd6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Elder Filaur:
-Have you heard about the changes in the Mithril Mines? I'm talking about those malicious Wererats that overran the place.
-You do know about Wererats, right? Nasty things with face of a rat and those beady, greedy eyes that are always looking for something to steal. And that sound they make....
-Now they're in the Mithril Mines!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-02.html b/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-02.html deleted file mode 100644 index 2c922c035f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-02.html +++ /dev/null @@ -1,6 +0,0 @@ -Elder Filaur:
-At first, we thought that the lost Wererats had trickled into the dark and damp mines for a place to rest. You know, lost monsters have been coming into the mines for ages.
-But that wasn't it. They had entered the mines for some specific purpose. Their numbers slowly increased, until one day, it seemed that they would take over the whole place.
-Also...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-03.html b/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-03.html deleted file mode 100644 index 4d8c0ea207..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Elder Filaur:
-So what? These vicious things could knock even you flat on your back if you aren't careful. What chance does your average miner have?!
-It's not safe, and now the Gray Pillar Guild have shut down whole sections of the Mines in order to stop the trickle of casualties becoming a flood.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-04.html b/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-04.html deleted file mode 100644 index 159f2c224e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-04.html +++ /dev/null @@ -1,6 +0,0 @@ -Elder Filaur:
-This is a serious issue -- even at full strength, the mine barely keeps pace with the demand for mithril. With much of it closed and our miners afraid to enter...
-But we of the Gray Pillar Guild don't intend to simply accept this new state of affairs.
-We do need capable adventurers willing to help us cleanse the Mithril Mine. Interested?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-05.htm b/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-05.htm deleted file mode 100644 index f1a1e606c3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-05.htm +++ /dev/null @@ -1,6 +0,0 @@ -Elder Filaur:
-I hate to admit it, but Wererats are in fact as gifted as Dwarves when it comes to mining. They can move around in total darkness like it was noon, and small spaces don't bother them at all. Since that evil aura has descended on the mine, our Dwarven miners have been unable to do their work. We've been forced to rely on the Wererats to mine the minerals, but now they refuse to give them to us.
-I need you to go defeat the Wererats and bring back the minerals they mined! I will reward you for hunting them and for returning with the mined material.
-What do you say? Will you do it?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-06.htm b/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-06.htm deleted file mode 100644 index 227939a5b1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-06.htm +++ /dev/null @@ -1,5 +0,0 @@ -Elder Filaur:
-Please destroy the following monsters in the Mithril Mine: Grave Robber Summoners, Grave Robber Magicians, Grave Robber Workers, Grave Robber Warriors and Grave Robber Insane Warriors, since they seem to be the chief ones causing the trouble. While you're at it, destroy their subordinates in the Stakato Nest: Servitors of Darkness, Phantoms of the Mine, Mine Bugs and Earthworm's Descendants.
-Bring me enough Mineral Fragments as evidence and I will give you a reward: either a recipe or Premium Materials containing the secrets of Dwarven armor
-What are you still doing standing there? Get moving! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-07.html b/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-07.html deleted file mode 100644 index b48c55d1dc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-07.html +++ /dev/null @@ -1,6 +0,0 @@ -Elder Filaur:
-Hey, you! Why are you still here?
-Those monsters won't kill themselves, you know! Hunt Grave Robber Summoners, Grave Robber Magicians, Grave Robber Workers, Grave Robber Warriors, and Grave Robber Insane Warriors, as well as their subordinates Servitors of Darkness, Phantoms of the Mine, Mine Bugs and Earthworm's Descendants. Then bring me Mineral Fragments as evidence. Anything to say for yourself?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-08.html b/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-08.html deleted file mode 100644 index ab0c5f53b6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-08.html +++ /dev/null @@ -1,7 +0,0 @@ -Elder Filaur:
-It looks like you have collected some mineral fragments.
-Well... What will you do?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-09.html b/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-09.html deleted file mode 100644 index 82f3b4d47d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Elder Filaur:
-Keep up the good work! Bring me as many Mineral Fragments as you can find, and both of us will make a pretty penny out of this little project. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-10.html b/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-10.html deleted file mode 100644 index bc1114fe4b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-10.html +++ /dev/null @@ -1,5 +0,0 @@ -Elder Filaur:
-What!? Well, I'm not surprised. I always thought you looked like a quitter. But don't you still have Mineral Fragments you haven't traded to me? Why not do so before you leave?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-11.html b/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-11.html deleted file mode 100644 index 4fef5aab7f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/30535-11.html +++ /dev/null @@ -1,3 +0,0 @@ -Elder Filaur:
-What!? Well, I'm not surprised. I always thought you looked like a quitter. I'll find someone better in no time! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/Q00312_TakeAdvantageOfTheCrisis.java b/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/Q00312_TakeAdvantageOfTheCrisis.java deleted file mode 100644 index 51a78ccd37..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/Q00312_TakeAdvantageOfTheCrisis.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00312_TakeAdvantageOfTheCrisis; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Take Advantage of the Crisis! (312) - * @author malyelfik - */ -public class Q00312_TakeAdvantageOfTheCrisis extends Quest -{ - // NPC - private static final int FILAUR = 30535; - // Monsters - private static final Map MOBS = new HashMap<>(); - static - { - MOBS.put(22678, 291); // Grave Robber Summoner (Lunatic) - MOBS.put(22679, 596); // Grave Robber Magician (Lunatic) - MOBS.put(22680, 610); // Grave Robber Worker (Lunatic) - MOBS.put(22681, 626); // Grave Robber Warrior (Lunatic) - MOBS.put(22682, 692); // Grave Robber Warrior of Light (Lunatic) - MOBS.put(22683, 650); // Servitor of Darkness - MOBS.put(22684, 310); // Servitor of Darkness - MOBS.put(22685, 626); // Servitor of Darkness - MOBS.put(22686, 626); // Servitor of Darkness - MOBS.put(22687, 308); // Phantoms of the Mine - MOBS.put(22688, 416); // Evil Spirits of the Mine - MOBS.put(22689, 212); // Mine Bug - MOBS.put(22690, 748); // Earthworm's Descendant - } - // Item - private static final int MINERAL_FRAGMENT = 14875; - // Misc - private static final int MIN_LEVEL = 80; - - public Q00312_TakeAdvantageOfTheCrisis() - { - super(312, Q00312_TakeAdvantageOfTheCrisis.class.getSimpleName(), "Take Advantage of the Crisis!"); - addStartNpc(FILAUR); - addTalkId(FILAUR); - addKillId(MOBS.keySet()); - registerQuestItems(MINERAL_FRAGMENT); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "30535-02.html": - case "30535-03.html": - case "30535-04.html": - case "30535-05.htm": - case "30535-09.html": - case "30535-10.html": - break; - case "30535-06.htm": - st.startQuest(); - break; - case "30535-11.html": - st.exitQuest(true, true); - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final L2PcInstance member = getRandomPartyMember(player, 1); - if ((member != null) && (getRandom(1000) < MOBS.get(npc.getId()))) - { - final QuestState st = getQuestState(member, false); - st.giveItems(MINERAL_FRAGMENT, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30535-01.htm" : "30535-00.htm"; - break; - case State.STARTED: - htmltext = (st.hasQuestItems(MINERAL_FRAGMENT)) ? "30535-08.html" : "30535-07.html"; - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-01.htm b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-01.htm deleted file mode 100644 index 4531dcbdfd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Curtis:
-If you are thinking of going to the ruins, I can give you an errand that you will find rewarding. I can't tell you about it right now, but if you stop by later on I'll tell you in private.
-(Quest for characters level 15 and above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-02.htm b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-02.htm deleted file mode 100644 index d6a9046dd9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Guard Curtis:
-If you are thinking of going to the ruins, I can give you an errand that you will find rewarding. Just recently, I spoke with Samed, who lives near the edge of the village... He asked me to refer a few skilled friends to him, when guards or mercenary soldier troops were dispatched near the ruins.
-I myself have helped him out a few times. The job is a little unpleasant, but... the pay is good. What do you say, do you want to give it a try?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-03.htm b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-03.htm deleted file mode 100644 index 51aeaa4058..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Curtis:
-Go to Samed to get all the details. If you meet him, tell him that Curtis sent you. Then he'll know I sent you and will give you the job.
-I wouldn't tell anyone you are working for Samed. So I hope you won't tell anyone that you received the job from me. Do you understand what I'm saying? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-04.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-04.html deleted file mode 100644 index 28b8c7182c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Curtis:
-You haven't met Samed yet? Look now, I personally guarantee that this is a job that pays very well! Someone with your skills could earn big money. Of course, you'll have to work so that no one notices you...
-So hurry up and find Samed. If you meet him, tell him that Curtis sent you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-05.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-05.html deleted file mode 100644 index 81873536f6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30336-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Curtis:
-I see you've talked with Samed. It is a bit unpleasant, but... selling the bones and organs of those who are already dead should not cause any sort of real problem. And it doesn't hurt anyone, right? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-01.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-01.html deleted file mode 100644 index 8a0380a8cf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Varsak:
-Our family has been doing this work for generations. However, there are hardly any people who look for undertakers these days. It is because the priests of Einhasad encourage cremation. However, sometimes, there are a few who come to follow the old customs.
-Have you come to me for a funeral? Is there anything I can do for you?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-02.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-02.html deleted file mode 100644 index a2bb68cadd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Varsak:
-I'm sorry, but that is impossible. To recompose a skeleton to human form, you must have all five parts: the skull, rib, spine, arm bone and thigh bone.
-By the way, you don't work for Samed, do you? It would be better to stay away from him. Bad rumors always follow him -- that he is a student of the evil Wizard Hardin or a servant of the devil Beleth. That is why people avoid him. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-03.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-03.html deleted file mode 100644 index 3eaaa00b7e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Varsak:
-I am not sure the bone pieces are from the same person, but... At any rate, I'll try to recompose the skeleton. This is the least we can do to put the angry spirit of a person who died at war to rest. Please give him or her a proper funeral.
-But... You don't work for Samed, do you? It would be better to keep your distance from him. Bad rumors always follow him -- they say he is a student of the black magician Hardin or a servant of the devil Beleth. People avoid him for a reason. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-04.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-04.html deleted file mode 100644 index 7b54130598..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30342-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Varsak:
-Ah! Oh dear... Forgive me! The bone was too old... It got smashed while I was trying to recompose the skeleton. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-01.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-01.html deleted file mode 100644 index 8b97143019..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Samed:
-What could a humble person like me have to ask you? It would be nice if you just left me alone so I could live quietly...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-02.htm b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-02.htm deleted file mode 100644 index e4b6bae0ac..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Samed:
-Hmm? So you came to me for a job. Well, are you thinking of going to the ruins? If you find me a few things from there, I will generously reward you afterwards. Though I am not sure whether you will come back alive from that place that crawls with zombies and skeletons.
-You must find me corpse pieces. Of course there are many corpses in the graveyard, but if you are caught disturbing the graves and pulling out coffins, you will be considered a witch and be burnt at the stake. So there is no choice but to take the living corpses from the undead.
-Why do I need corpse pieces? Don't try to know the reason. Haven't you heard that curiosity killed the cat? All you have to do is find what I need and take the money.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-03.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-03.html deleted file mode 100644 index 7d05bc59cd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Samed:
-Collect corpse pieces from the Ruins of Despair or the Ruins of Agony. If you don't know how to find the ruins, ask Guard Curtis or Guard Babenco. From the zombies, bring their head, heart, and liver. From the skeletons, bring the skull, spine, rib, arm bone, and thigh bone.
-I also need bone pieces, but actually I need a Complete Skeleton of Human form more. Unfortunately, when you fight with the undead, their body shatters so it will be impossible to find a Complete Skeleton. But the person that took this job before you found one somehow.
-Ah, and don't bring back anything from the spartoi. Spartoi are his minions... It is better not to make him angry. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-04.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-04.html deleted file mode 100644 index d8b9bfd8f9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-04.html +++ /dev/null @@ -1,6 +0,0 @@ -Samed:
-You have returned already? I see you have not found the items I asked you for. I am very disappointed...
-I will explain to you again, so listen carefully. Go to the Ruins of Despair or the Ruins of Agony and find me the corpse pieces of the undead and I will give you an ample reward. If you don't know how to find the ruins, ask Guard Curtis or Guard Babenco.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-05.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-05.html deleted file mode 100644 index 0eac7586ad..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Samed:
-Did you come unseen by the guards? Do you have the items I asked you for? Give them to me before the smell of decay fills the village!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-06.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-06.html deleted file mode 100644 index f3d9d953cd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Samed:
-You seem exhausted from dealing with the dead souls. Well, it may have been too difficult for someone like you, who has lived only in the bright world. But I keep my promises, don't I? I will compensate you for the number of items you have brought. I have put the money in this coin purse, so make sure you tuck it in your pocket.
-You must be swearing to yourself that you will never do such an unpleasant job again, right? I can tell just from your eyes. However, you may have to come to me in the end. You will realize in no time that there is no other job that pays as much. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-07.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-07.html deleted file mode 100644 index f81fcbd6f0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Samed:
-Then I will pay you according to the number of corpse pieces you have brought. Keep up the good work.
-Ah! And let me give you one word of advice. You do not need to be frightened by the undead of the ruins. They move by the power of black magic, but they are really just decayed pieces of meat. If you think of it that way, there is no reason to be afraid, right? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-08.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-08.html deleted file mode 100644 index 4df403df73..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-08.html +++ /dev/null @@ -1,6 +0,0 @@ -Samed:
-Ohh! You brought back a Complete Skeleton! You haven't dug up some cemetery, have you? Well, hand it over to me before the villagers see!
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-09.html b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-09.html deleted file mode 100644 index 7c17843fe1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/30434-09.html +++ /dev/null @@ -1,6 +0,0 @@ -Samed:
-As I promised, I will compensate you according to the number of remains. I have filled this pouch full of coins so keep it safe.
-Looking at your pocket, I see you have many small corpse pieces in addition to Complete Skeletons. Give them to me before the smell of decay fills the village!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java b/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java deleted file mode 100644 index 08462bf063..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java +++ /dev/null @@ -1,285 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00325_GrimCollector; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.QuestItemHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.util.Util; - -/** - * Grim Collector (325) - * @author ivantotov - */ -public final class Q00325_GrimCollector extends Quest -{ - // NPCs - private static final int GUARD_CURTIZ = 30336; - private static final int VARSAK = 30342; - private static final int SAMED = 30434; - // Items - private static final int ANATOMY_DIAGRAM = 1349; - private static final int ZOMBIE_HEAD = 1350; - private static final int ZOMBIE_HEART = 1351; - private static final int ZOMBIE_LIVER = 1352; - private static final int SKULL = 1353; - private static final int RIB_BONE = 1354; - private static final int SPINE = 1355; - private static final int ARM_BONE = 1356; - private static final int THIGH_BONE = 1357; - private static final int COMPLETE_SKELETON = 1358; - // Misc - private static final int MIN_LEVEL = 15; - // Monsters - private static final Map> MONSTER_DROPS = new HashMap<>(); - static - { - MONSTER_DROPS.put(20026, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 50), new QuestItemHolder(ZOMBIE_LIVER, 75))); - MONSTER_DROPS.put(20029, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 30), new QuestItemHolder(ZOMBIE_HEART, 52), new QuestItemHolder(ZOMBIE_LIVER, 75))); - MONSTER_DROPS.put(20035, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 15), new QuestItemHolder(SPINE, 29), new QuestItemHolder(THIGH_BONE, 79))); - MONSTER_DROPS.put(20042, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 19), new QuestItemHolder(ARM_BONE, 69), new QuestItemHolder(THIGH_BONE, 86))); - MONSTER_DROPS.put(20045, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(SPINE, 59), new QuestItemHolder(ARM_BONE, 77), new QuestItemHolder(THIGH_BONE, 97))); - MONSTER_DROPS.put(20051, Arrays.asList(new QuestItemHolder(SKULL, 9), new QuestItemHolder(RIB_BONE, 59), new QuestItemHolder(SPINE, 79), new QuestItemHolder(ARM_BONE, 100))); - MONSTER_DROPS.put(20457, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 60), new QuestItemHolder(ZOMBIE_LIVER, 80))); - MONSTER_DROPS.put(20458, Arrays.asList(new QuestItemHolder(ZOMBIE_HEAD, 40), new QuestItemHolder(ZOMBIE_HEART, 70), new QuestItemHolder(ZOMBIE_LIVER, 100))); - MONSTER_DROPS.put(20514, Arrays.asList(new QuestItemHolder(SKULL, 6), new QuestItemHolder(RIB_BONE, 21), new QuestItemHolder(SPINE, 30), new QuestItemHolder(ARM_BONE, 31), new QuestItemHolder(THIGH_BONE, 64))); - MONSTER_DROPS.put(20515, Arrays.asList(new QuestItemHolder(SKULL, 5), new QuestItemHolder(RIB_BONE, 20), new QuestItemHolder(SPINE, 31), new QuestItemHolder(ARM_BONE, 33), new QuestItemHolder(THIGH_BONE, 69))); - } - - public Q00325_GrimCollector() - { - super(325, Q00325_GrimCollector.class.getSimpleName(), "Grim Collector"); - addStartNpc(GUARD_CURTIZ); - addTalkId(GUARD_CURTIZ, VARSAK, SAMED); - addKillId(MONSTER_DROPS.keySet()); - registerQuestItems(ANATOMY_DIAGRAM, ZOMBIE_HEAD, ZOMBIE_HEART, ZOMBIE_LIVER, SKULL, RIB_BONE, SPINE, ARM_BONE, THIGH_BONE, COMPLETE_SKELETON); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - String htmltext = null; - switch (event) - { - case "30336-03.htm": - { - if (st.isCreated()) - { - st.startQuest(); - htmltext = event; - } - break; - } - case "assembleSkeleton": - { - if (!hasQuestItems(player, SPINE, ARM_BONE, SKULL, RIB_BONE, THIGH_BONE)) - { - htmltext = "30342-02.html"; - } - else - { - takeItems(player, 1, SPINE, ARM_BONE, SKULL, RIB_BONE, THIGH_BONE); - - if (getRandom(5) < 4) - { - giveItems(player, COMPLETE_SKELETON, 1); - htmltext = "30342-03.html"; - } - else - { - htmltext = "30342-04.html"; - } - } - break; - } - case "30434-02.htm": - { - htmltext = event; - break; - } - case "30434-03.html": - { - st.giveItems(ANATOMY_DIAGRAM, 1); - htmltext = event; - break; - } - case "30434-06.html": - case "30434-07.html": - { - if (hasQuestItems(player, getRegisteredItemIds())) - { - final long head = st.getQuestItemsCount(ZOMBIE_HEAD); - final long heart = st.getQuestItemsCount(ZOMBIE_HEART); - final long liver = st.getQuestItemsCount(ZOMBIE_LIVER); - final long skull = st.getQuestItemsCount(SKULL); - final long rib = st.getQuestItemsCount(RIB_BONE); - final long spine = st.getQuestItemsCount(SPINE); - final long arm = st.getQuestItemsCount(ARM_BONE); - final long thigh = st.getQuestItemsCount(THIGH_BONE); - final long complete = st.getQuestItemsCount(COMPLETE_SKELETON); - final long totalCount = (head + heart + liver + skull + rib + spine + arm + thigh + complete); - if (totalCount > 0) - { - long sum = ((head * 30) + (heart * 20) + (liver * 20) + (skull * 100) + (rib * 40) + (spine * 14) + (arm * 14) + (thigh * 14)); - - if (totalCount >= 10) - { - sum += 1629; - } - - if (complete > 0) - { - sum += 543 + (complete * 341); - } - - st.giveAdena(sum, true); - } - - takeItems(player, -1, getRegisteredItemIds()); - } - - if (event.equals("30434-06.html")) - { - st.exitQuest(true, true); - } - - htmltext = event; - break; - } - case "30434-09.html": - { - final long complete = st.getQuestItemsCount(COMPLETE_SKELETON); - if (complete > 0) - { - st.giveAdena(((complete * 341) + 543), true); - st.takeItems(COMPLETE_SKELETON, -1); - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getQuestState(killer, false); - - if ((qs == null) || !qs.isStarted()) - { - return super.onKill(npc, killer, isSummon); - } - - if (!Util.checkIfInRange(1500, killer, npc, true) || !qs.hasQuestItems(ANATOMY_DIAGRAM)) - { - return super.onKill(npc, killer, isSummon); - } - - final int rnd = getRandom(100); - for (QuestItemHolder drop : MONSTER_DROPS.get(npc.getId())) - { - if (rnd < drop.getChance()) - { - qs.giveItemRandomly(npc, drop.getId(), 1, 0, 1.0, true); - break; - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case GUARD_CURTIZ: - { - switch (st.getState()) - { - case State.CREATED: - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30336-02.htm" : "30336-01.htm"; - break; - } - case State.STARTED: - { - htmltext = st.hasQuestItems(ANATOMY_DIAGRAM) ? "30336-05.html" : "30336-04.html"; - break; - } - } - break; - } - case VARSAK: - { - if (st.isStarted() && st.hasQuestItems(ANATOMY_DIAGRAM)) - { - htmltext = "30342-01.html"; - } - break; - } - case SAMED: - { - if (st.isStarted()) - { - if (!st.hasQuestItems(ANATOMY_DIAGRAM)) - { - htmltext = "30434-01.html"; - } - else - { - if (!hasAtLeastOneQuestItem(player, getRegisteredItemIds())) - { - htmltext = "30434-04.html"; - } - else if (!st.hasQuestItems(COMPLETE_SKELETON)) - { - htmltext = "30434-05.html"; - } - else - { - htmltext = "30434-08.html"; - } - } - } - break; - } - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-01.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-01.html deleted file mode 100644 index c53e9e3235..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-01.html +++ /dev/null @@ -1,10 +0,0 @@ -Magister Iris:
-So the rumors are true ... That the mercenaries fighting the Orcs on the northwest shores are secretly selling relics of the ancient kingdom ...
-How could they sell such valuable historical artifacts to businessmen ...! Objects that represent the lives of our ancestors ... They'll be degraded into mere decorations and displays ... This should not happen!
-Please ... If any relics of the ancient kingdom should chance to fall into your hands ... Don't sell them at the shop, but bring them to me ... I can't pay you, but ... I will try to share some of my knowledge with you ... And I will make sure that the relics that are recovered will all be used as research material for the researchers of the Ivory Tower.
- - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-02.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-02.html deleted file mode 100644 index 741d293cbb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Magister Iris:
-Why are you trying to give me something you don't even have? I can't understand you at all.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-03.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-03.html deleted file mode 100644 index 8a262a4e91..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Iris:
-This Clay Pot piece ...? By the looks of the repetitive spiral designs, it looks like it was made in the early kingdom style. That such delicate craftsmanship was available thousands of years ago ... It's unbelievable.
-Thank you very much. The relics you have brought me will all be used as research material by the historical research society of the Ivory Tower. Take pride in the fact that you have played a part in revealing our forgotten past.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-04.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-04.html deleted file mode 100644 index f33d283049..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Iris:
-This brass piece? It is part of a crown! However ... it's not the crown of a ruler, but a portion of the crown worn by priests during ceremonies. Look at these delicate carvings ... Beautiful, aren't they? It doesn't look like this item was made thousands of years ago, does it?
-Thank you very much. The relics you have brought me will all be used as research material by the historical research society of the Ivory Tower. Take pride in the fact that you have played a part in revealing our forgotten past.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-05.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-05.html deleted file mode 100644 index 761eb6e5a8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Iris:
-This is a piece of a broken mirror. This is probably a portion of one of the bronze mirrors used by noblewomen of the Elmoreden age. Truly this is a very valuable artifact, that holds images of the lives of the ancient ones.
-Thank you very much. The relics you have brought me will all be used as research material by the historical research society of the Ivory Tower. Take pride in the fact that you have played a part in revealing our forgotten past.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-06.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-06.html deleted file mode 100644 index 2158cc4986..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Iris:
-... The bead appears to be part of a necklace ... Yes, that is probably it. It is the jade necklace worn by magicians of the royal Elmoreden court. Truly, it is a very valuable cultural artifact that records the lives and traditions of the ancient ones.
-Thank you very much. The relics you have brought me will all be used as research material by the historical research society of the Ivory Tower. Take pride in the fact that you have played a part in revealing our forgotten past.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-07.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-07.html deleted file mode 100644 index 80e3d8c41b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30034-07.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Iris:
-These artifacts...? Who restored them? Restoring broken artifacts to their original state is a job that requires great delicacy... Whoever worked on these is very talented.
-I will send them all to the Ivory Tower. They will be precious resources for historical study. I will make sure that your name appears in the Ivory Tower scholars' research paper.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-01.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-01.html deleted file mode 100644 index 3e6a0282f4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-01.html +++ /dev/null @@ -1,8 +0,0 @@ -Trader Asha:
-Um ... um ... You're fighting with the orcs on the northern coast, right? They say there are many relics of the ancient empire in that region ...
-Uh, um ... I majored in ancient relics when I studied at the Ivory Tower, you see ... So ... Um ... . If you bring back pieces of relics, I can restore them to their original state ...
- - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-02.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-02.html deleted file mode 100644 index a0e60e4043..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Trader Asha:
-Uh ... Well ... You must have five clay jar pieces to restore it to its original state ... I am so sorry ...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-03.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-03.html deleted file mode 100644 index 142d4565e1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-03.html +++ /dev/null @@ -1,6 +0,0 @@ -Trader Asha:
-... I see you have collected five clay jar pieces ... All, all right ... I think I can restore the jar with this ...
-Look at the pattern engraved on this piece ... It is in the style of the early empire age ... If I match the pieces where the pattern continues ...
-Ah! It is done! ... You can see the lines of the cracks, but ... One way or another ... I have assembled the jar to its original state ... A relic of the empire that is over one thousand years old ... this is a very precious legacy of history ...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-04.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-04.html deleted file mode 100644 index 96ebc16c72..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Trader Asha:
-Ahh ... Oh dear. You must have five accessory pieces ... Only then ... Can I restore it to its original state ...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-05.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-05.html deleted file mode 100644 index 15c3d470ce..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Asha:
-That I am assembling such a precious relic with my own hands ... It is so exciting ... However, I have not seen this accessory in the book ... Should this piece go on top? And if the rest are connected to the bottom ...
-See! It is a three-level crown used by the priests of Elmoreden ... Isn't it absolutely beautiful?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-06.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-06.html deleted file mode 100644 index 6e5059a520..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Asha:
-Ahh ... I'm sorry! I must have five Bronze Mirror Pieces to restore it to its original shape ...
-Please take a look at this diagram ... "Bronze mirror used by noblewomen in the Elmoreden age" ... According to this diagram, to assemble the mirror, it is impossible to do so with only the pieces you have ...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-07.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-07.html deleted file mode 100644 index 24153b6223..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-07.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Asha:
-Wow! You have brought five pieces of bronze mirror fragments ... With this, I can restore the mirror as it is seen in this illustration ... This piece goes with this piece ... And if I connect it underneath with this ... And so! It is complete!
-Do you know? This mirror was used by the noblewomen of the Elmoreden age ... It contains the life of the ancient people ... It is a very precious relic ...!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-08.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-08.html deleted file mode 100644 index 70a173b505..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-08.html +++ /dev/null @@ -1,4 +0,0 @@ -Trader Asha:
- ... Uh ... To restore the jade necklace to its original state ... umm ... well ... Please take a look at this diagram ... To assemble the necklace as you can see in this illustration ... You need five beads in all ...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-09.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-09.html deleted file mode 100644 index 780f075a43..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-09.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Asha:
-... You have found five jade beads ...! Yes ... I believe I can assemble it ... As it is shown in this diagram ... That I am restoring such a precious relic with my own hands! I am so excited my hands are trembling ...
-... Like this ... I line up the beads and connect them ... Ahh ...! It is done! See! It is the same as the picture, is it not? This jade necklace ... The explanation reads that it was an ornament worn on the necks of court magicians ... It is truly a precious relic ...!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-10.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-10.html deleted file mode 100644 index e4ebf1636d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30313-10.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Asha:
-Ah ...! Oh dear. What am I to do ...?
-By mistake, I have ... smashed the relic pieces ... I am sorry. Terribly sorry ...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-01.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-01.html deleted file mode 100644 index 8a5614ca56..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-01.html +++ /dev/null @@ -1,6 +0,0 @@ -Trader Nestle:
-Are you the mercenary Piotur hired? What is going on over at the Orc Barracks? They say that ancient relics have recently been discovered there. Have you found any?
-Old relics wouldn't be of any use to a mercenary like yourself, now would they? If you bring some of them I will give you several useful items.
-What do you say?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-02.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-02.html deleted file mode 100644 index adeb40c3da..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-02.html +++ /dev/null @@ -1,9 +0,0 @@ -Trader Nestle:
-I have no interest is small pieces or fragments of relics. Trader Asha would be interested in the smaller pieces, she is an expert in restoring relics.
-Do you have any relics I might be interested in?
- - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-03.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-03.html deleted file mode 100644 index e1d9005bca..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-03.html +++ /dev/null @@ -1,6 +0,0 @@ -Trader Nestle:
-Oh, my! Look at the spiral pattern on the surface... the delicate carving of the handle... This is a genuine Imperial urn! It is exquisite! Thank you!
-You shall have your reward!
-Take these! I have packed several items that will be useful to a mercenary!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-04.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-04.html deleted file mode 100644 index 84a80d7342..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Nestle:
-Oh, my! It is gorgeous! An actual tiara from the Imperial era! Isn't it beautiful? Thank you for your hard work.
-You shall have your reward!
Here are some things that a mercenary will find useful.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-05.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-05.html deleted file mode 100644 index 6c130bce84..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Nestle:
-Oh, my, how stunning! A bronze mirror from the Imperial period! I imagine it was used by a female aristocrat of the Elmoreden kingdom... Good job!
-You shall have your reward. Here are some items that you will find useful.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-06.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-06.html deleted file mode 100644 index 87a3fddf47..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-06.html +++ /dev/null @@ -1,6 +0,0 @@ -Trader Nestle:
-Oh, isn't it lovely! A jade necklace worn by the Mystics of the Imperial court! How did you find such a precious item? However you did it, good job!
-You shall have your reward as promised.
-Here are some items you will find useful.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-07.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-07.html deleted file mode 100644 index 571eeb8b8b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Trader Nestle:
-Are you some kind of idiot? You can't sell something you don't have!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-08.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-08.html deleted file mode 100644 index 2cf0c2534e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-08.html +++ /dev/null @@ -1,8 +0,0 @@ -Trader Nestle:
-You should get rid of all that excess baggage! I'll take all the relics you have!
- - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-09.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-09.html deleted file mode 100644 index 52efafe881..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30314-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Nestle:
-It's been a pleasure doing business with you. Bring me relics anytime! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-01.htm b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-01.htm deleted file mode 100644 index 7ef44c2f46..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Guard Leikan:
-At one time the land northwest of Gludio was fertile farmland, yielding bountiful harvests of wheat and barley. During the dark days of the invasion of Gracia, when the farmers were in hiding, the land was taken over by the filthy Turek orcs.
-Some day, my people will drive them out and restore the farmland to its previous state...
-(This quest may only be undertaken by a character of level 25 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-02.htm b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-02.htm deleted file mode 100644 index a8fffd028b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-02.htm +++ /dev/null @@ -1,7 +0,0 @@ -Guard Leikan:
-At one time the land northwest of Gludio was fertile farmland, yielding bountiful harvests of wheat and barley. During the dark days of the invasion of Gracia, when the farmers were in hiding, the land was taken over by the filthy Turek orcs.
-Some day, my people will drive them out and restore the farmland to its previous state...
-One of the farmers, Piotur, has taken the initiative to drive the Turek orcs from his land. He is looking for a few good mercenaries.
-This should be easy for you. Do you wish to help the farmers regain their land?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-03.htm b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-03.htm deleted file mode 100644 index 4bdce5f3eb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Guard Leikan:
-Excellent. Take this letter to Farmer Piotur. He is bravely tending his crops while being overrun by filthy orcs. His farm is near the east entrance of the Orc Barracks. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-04.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-04.html deleted file mode 100644 index 77bcfb1820..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Leikan:
-You must hurry and take this letter to Piotur. His farm is near the east entrance of the Orc Barracks. I pray that you are able to recover the lands for the farmers of Gludio. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-05.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-05.html deleted file mode 100644 index 2121155cf5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Guard Leikan:
-Ah, you again! How was Piotur?
-By the way, in case you're interested, I've heard that some relics from the ancient empire have been discovered near the Orc Barracks. You could make quite a bit of money selling those.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-05a.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-05a.html deleted file mode 100644 index 9a1931ce82..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-05a.html +++ /dev/null @@ -1,5 +0,0 @@ -Guard Leikan:
-Bear in mind that this is a rumor, I've not seen it myself. I was told that mercenaries have been seen returning from the area near the Orc Barracks with relics from the Elmo-Aden period.
-Although they are little more than pottery shards, they fetch a high price. If you are interested you should visit a relics expert.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-05b.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-05b.html deleted file mode 100644 index 64cc8db0aa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30382-05b.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Leikan:
-I know that Trader Asha is an expert in the restoration of relics. He can be found at his magic store. Magister Iris is researching relics of ancient empires at the temple...
-Also, Trader Nestle is an avid collector of relics. He can be found at the grocery store in the southwest part of the village. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-01.htm b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-01.htm deleted file mode 100644 index d5961f7ca8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Piotur:
-When we were at war with Gracia, all the farmers of this region sought refuge in the east at Castle Gludio. However, when we returned to this land after the war, the turek orcs were occupying the surrounding area!
-The lord is at the height of pursuing reconstruction, but his attention does not extend to remote farm villages like this one. However, we cannot wait forever for the lord's help, can we? We are thinking of collecting money to hire mercenaries We will recover the blessed land that we inherited from our ancestors!
-(Minimum level necessary to undertake the quest is 25.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-02.htm b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-02.htm deleted file mode 100644 index bd4b087f50..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Piotur:
-When we were at war with Gracia, all the farmers of this region sought refuge in the east at Castle Gludio. However, when we returned to this land after the war, the turek orcs were occupying the surrounding area!
-The lord is at the height of pursuing reconstruction, but his attention does not extend to remote farm villages like this one. However, we cannot wait forever for the lord's help, can we? My brother and I have decided to collect money and hire mercenaries. We will recover the blessed land that we inherited from our ancestors!
-Now that I come to mention it, you look like quite an experienced mercenary yourself. What do you think? Will you lend us your strength to recover the farmland that the orcs took away from us? I will give you ample compensation.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-03.htm b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-03.htm deleted file mode 100644 index 107b8b60bd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Piotur:
-Very well! Drive out the turek orcs that are camping around this area! If you bring the necklaces the orcs all wear, I will reward you according to the number.
-They may be lowly orcs, but they seem to have ranks among them. The one that seems to be the leader has a luxurious necklace. I will reward you a little more for that one.
-Ah! And as you know, this area was once the holy grounds for the ancient Elmoreden Empire. In the past, one could find three or four ancient relics each day when digging the earth to till the soil. Orcs also seem to understand about the value of those relics, and some collect them. Do away with the orcs and keep the relics that you find. You will be able to sell them for a high price at a store in the village.
-Now it is time for you to leave. Please make an effort to recover the land for the farmers that lost their way of life. May the blessing of the goddess be with you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-03.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-03.html deleted file mode 100644 index 107b8b60bd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-03.html +++ /dev/null @@ -1,6 +0,0 @@ -Piotur:
-Very well! Drive out the turek orcs that are camping around this area! If you bring the necklaces the orcs all wear, I will reward you according to the number.
-They may be lowly orcs, but they seem to have ranks among them. The one that seems to be the leader has a luxurious necklace. I will reward you a little more for that one.
-Ah! And as you know, this area was once the holy grounds for the ancient Elmoreden Empire. In the past, one could find three or four ancient relics each day when digging the earth to till the soil. Orcs also seem to understand about the value of those relics, and some collect them. Do away with the orcs and keep the relics that you find. You will be able to sell them for a high price at a store in the village.
-Now it is time for you to leave. Please make an effort to recover the land for the farmers that lost their way of life. May the blessing of the goddess be with you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-03a.htm b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-03a.htm deleted file mode 100644 index 28978f0a02..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-03a.htm +++ /dev/null @@ -1,6 +0,0 @@ -Piotur:
-You must be the mercenary sent by Guard Leikan. It is good to see you. I have a sad story to tell you...
-During the war with Gracia the farmers of this area were driven off of our land. After the war was over we returned to our farms only to find them occupied by Turek orcs!
-I'll give the Lord credit for his many restoration projects, but unfortunately we are far from the castle and haven't gotten any significant help from him. We must take responsibility for recovering our farms! Would you help us drive the orcs from our lands? You will be well compensated for you efforts.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-04.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-04.html deleted file mode 100644 index 7658e324e6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-04.html +++ /dev/null @@ -1,6 +0,0 @@ -Piotur:
-Please help the farmers who lost their way of living recover their land from the orcs. As I told you, kill the turek orcs and bring their necklaces back as proof, and I will give you a reward.
-Also, do not discard the ancient relics that the orcs keep with them. Collect them all. You can sell them for quite a high price at the village. Why don't you think of it as a kind of bonus for this task?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-05.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-05.html deleted file mode 100644 index 5eaf24cb53..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-05.html +++ /dev/null @@ -1,6 +0,0 @@ -Piotur:
-Young soldier, you have fought well. By the Contract, I will give you a reward according to the number of turek Orc necklaces you have brought. Thanks to your efforts, the farmers who lost their way of living are one day closer to recovering their land.
-Ah! Also, do not dispose of the ancient relics that the orcs kept on them, but collect them all. You can sell them for quite a high price in the village. Why don't you think of it as a kind of bonus for the work you've done? Now that I think about it, there is supposed to be a specialist of archeology in Gludin ... That person will be able to tell you the value of these objects in more detail.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-06.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-06.html deleted file mode 100644 index 6f88d7268a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Piotur:
-I am sad to see you go, but it seems that our fates which brought us together for a time now must separate. However, only the gods know the destiny of people. I may request your help again someday. Or a day may come when I will help you ... we never know.
-May the goddess' blessing be upon your future days. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-07.html b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-07.html deleted file mode 100644 index 5d562c1e10..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/30597-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Piotur:
-They say that the turek orcs have trained the ferocious wolves to use as military hounds. Even the smallest creature knows its master. When orcs are attacked, the wolves fight as well, so be careful.
-May the goddess' blessing be with you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/Q00327_RecoverTheFarmland.java b/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/Q00327_RecoverTheFarmland.java deleted file mode 100644 index d59a748cdd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00327_RecoverTheFarmland/Q00327_RecoverTheFarmland.java +++ /dev/null @@ -1,461 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00327_RecoverTheFarmland; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Recover the Farmland (327). - * @author GKR - */ - -public final class Q00327_RecoverTheFarmland extends Quest -{ - // NPCs - private static final int IRIS = 30034; - private static final int ASHA = 30313; - private static final int NESTLE = 30314; - private static final int LEIKAN = 30382; - private static final int PIOTUR = 30597; - private static final int TUREK_ORK_WARLORD = 20495; - private static final int TUREK_ORK_ARCHER = 20496; - private static final int TUREK_ORK_SKIRMISHER = 20497; - private static final int TUREK_ORK_SUPPLIER = 20498; - private static final int TUREK_ORK_FOOTMAN = 20499; - private static final int TUREK_ORK_SENTINEL = 20500; - private static final int TUREK_ORK_SHAMAN = 20501; - - // Items - private static final int TUREK_DOG_TAG = 1846; - private static final int TUREK_MEDALLION = 1847; - private static final int LEIKANS_LETTER = 5012; - private static final int CLAY_URN_FRAGMENT = 1848; - private static final int BRASS_TRINKET_PIECE = 1849; - private static final int BRONZE_MIRROR_PIECE = 1850; - private static final int JADE_NECKLACE_BEAD = 1851; - private static final int ANCIENT_CLAY_URN = 1852; - private static final int ANCIENT_BRASS_TIARA = 1853; - private static final int ANCIENT_BRONZE_MIRROR = 1854; - private static final int ANCIENT_JADE_NECKLACE = 1855; - private static final int QUICK_STEP_POTION = 734; - private static final int SWIFT_ATTACK_POTION = 735; - private static final int SCROLL_OF_ESCAPE = 736; - private static final int SCROLL_OF_RESURRECTION = 737; - private static final int HEALING_POTION = 1061; - private static final int SOULSHOT_D = 1463; - private static final int SPIRITSHOT_D = 2510; - - // Misc - private static final int MIN_LVL = 25; - private static final Map FRAGMENTS_REWARD_DATA = new HashMap<>(4); - private static final Map FRAGMENTS_DROP_PROB = new HashMap<>(7); - private static final ItemHolder[] FULL_REWARD_DATA = - { - new ItemHolder(ANCIENT_CLAY_URN, 2766), - new ItemHolder(ANCIENT_BRASS_TIARA, 3227), - new ItemHolder(ANCIENT_BRONZE_MIRROR, 3227), - new ItemHolder(ANCIENT_JADE_NECKLACE, 3919) - }; - - static - { - FRAGMENTS_REWARD_DATA.put("30034-03.html", new ItemHolder(CLAY_URN_FRAGMENT, 307)); - FRAGMENTS_REWARD_DATA.put("30034-04.html", new ItemHolder(BRASS_TRINKET_PIECE, 368)); - FRAGMENTS_REWARD_DATA.put("30034-05.html", new ItemHolder(BRONZE_MIRROR_PIECE, 368)); - FRAGMENTS_REWARD_DATA.put("30034-06.html", new ItemHolder(JADE_NECKLACE_BEAD, 430)); - - FRAGMENTS_DROP_PROB.put(TUREK_ORK_ARCHER, 21); - FRAGMENTS_DROP_PROB.put(TUREK_ORK_FOOTMAN, 19); - FRAGMENTS_DROP_PROB.put(TUREK_ORK_SENTINEL, 18); - FRAGMENTS_DROP_PROB.put(TUREK_ORK_SHAMAN, 22); - FRAGMENTS_DROP_PROB.put(TUREK_ORK_SKIRMISHER, 21); - FRAGMENTS_DROP_PROB.put(TUREK_ORK_SUPPLIER, 20); - FRAGMENTS_DROP_PROB.put(TUREK_ORK_WARLORD, 26); - } - - public Q00327_RecoverTheFarmland() - { - super(327, Q00327_RecoverTheFarmland.class.getSimpleName(), "Recover the Farmland"); - addStartNpc(LEIKAN, PIOTUR); - addTalkId(LEIKAN, PIOTUR, IRIS, ASHA, NESTLE); - addKillId(TUREK_ORK_WARLORD, TUREK_ORK_ARCHER, TUREK_ORK_SKIRMISHER, TUREK_ORK_SUPPLIER, TUREK_ORK_FOOTMAN, TUREK_ORK_SENTINEL, TUREK_ORK_SHAMAN); - registerQuestItems(TUREK_DOG_TAG, TUREK_MEDALLION, LEIKANS_LETTER); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String html = null; - - switch (event) - { - case "30034-01.html": - case "30313-01.html": - case "30314-02.html": - case "30314-08.html": - case "30314-09.html": - case "30382-05a.html": - case "30382-05b.html": - case "30597-03.html": - case "30597-07.html": - { - html = event; - break; - } - case "30382-03.htm": - { - st.startQuest(); - giveItems(player, LEIKANS_LETTER, 1); - st.setCond(2); - html = event; - break; - } - case "30597-03.htm": - { - st.startQuest(); - html = event; - break; - } - case "30597-06.html": - { - st.exitQuest(true, true); - html = event; - break; - } - case "30034-03.html": - case "30034-04.html": - case "30034-05.html": - case "30034-06.html": - { - final ItemHolder item = FRAGMENTS_REWARD_DATA.get(event); - if (!hasQuestItems(player, item.getId())) - { - html = "30034-02.html"; - } - else - { - addExpAndSp(player, getQuestItemsCount(player, item.getId()) * item.getCount(), 0); - takeItems(player, item.getId(), -1); - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - html = event; - } - break; - } - case "30034-07.html": - { - boolean rewarded = false; - for (ItemHolder it : FULL_REWARD_DATA) - { - if (hasQuestItems(player, it.getId())) - { - addExpAndSp(player, getQuestItemsCount(player, it.getId()) * it.getCount(), 0); - takeItems(player, it.getId(), -1); - playSound(player, QuestSound.ITEMSOUND_QUEST_ITEMGET); - rewarded = true; - } - } - html = rewarded ? event : "30034-02.html"; - break; - } - case "30313-03.html": - { - if (getQuestItemsCount(player, CLAY_URN_FRAGMENT) < 5) - { - html = "30313-02.html"; - } - else - { - takeItems(player, CLAY_URN_FRAGMENT, 5); - if (getRandom(6) < 5) - { - giveItems(player, ANCIENT_CLAY_URN, 1); - html = event; - } - else - { - html = "30313-10.html"; - } - } - break; - } - case "30313-05.html": - { - if (getQuestItemsCount(player, BRASS_TRINKET_PIECE) < 5) - { - html = "30313-04.html"; - } - else - { - takeItems(player, BRASS_TRINKET_PIECE, 5); - if (getRandom(7) < 6) - { - giveItems(player, ANCIENT_BRASS_TIARA, 1); - html = event; - } - else - { - html = "30313-10.html"; - } - } - break; - } - case "30313-07.html": - { - if (getQuestItemsCount(player, BRONZE_MIRROR_PIECE) < 5) - { - html = "30313-06.html"; - } - else - { - takeItems(player, BRONZE_MIRROR_PIECE, 5); - if (getRandom(7) < 6) - { - giveItems(player, ANCIENT_BRONZE_MIRROR, 1); - html = event; - } - else - { - html = "30313-10.html"; - } - } - break; - } - case "30313-09.html": - { - if (getQuestItemsCount(player, JADE_NECKLACE_BEAD) < 5) - { - html = "30313-08.html"; - } - else - { - takeItems(player, JADE_NECKLACE_BEAD, 5); - if (getRandom(8) < 7) - { - giveItems(player, ANCIENT_JADE_NECKLACE, 1); - html = event; - } - else - { - html = "30313-10.html"; - } - } - break; - } - case "30314-03.html": - { - if (!hasQuestItems(player, ANCIENT_CLAY_URN)) - { - html = "30314-07.html"; - } - else - { - rewardItems(player, SOULSHOT_D, getRandom(70, 110)); - takeItems(player, ANCIENT_CLAY_URN, 1); - html = event; - } - break; - } - case "30314-04.html": - { - if (!hasQuestItems(player, ANCIENT_BRASS_TIARA)) - { - html = "30314-07.html"; - } - else - { - final int rnd = getRandom(100); - if (rnd < 40) - { - rewardItems(player, HEALING_POTION, 1); - } - else if (rnd < 84) - { - rewardItems(player, QUICK_STEP_POTION, 1); - } - else - { - rewardItems(player, SWIFT_ATTACK_POTION, 1); - } - takeItems(player, ANCIENT_BRASS_TIARA, 1); - html = event; - } - break; - } - case "30314-05.html": - { - if (!hasQuestItems(player, ANCIENT_BRONZE_MIRROR)) - { - html = "30314-07.html"; - } - else - { - rewardItems(player, (getRandom(100) < 59) ? SCROLL_OF_ESCAPE : SCROLL_OF_RESURRECTION, 1); - takeItems(player, ANCIENT_BRONZE_MIRROR, 1); - html = event; - } - break; - } - case "30314-06.html": - { - if (!hasQuestItems(player, ANCIENT_JADE_NECKLACE)) - { - html = "30314-07.html"; - } - else - { - rewardItems(player, SPIRITSHOT_D, getRandom(50, 90)); - takeItems(player, ANCIENT_JADE_NECKLACE, 1); - html = event; - } - break; - } - } - - return html; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState st = getQuestState(killer, false); - if (st != null) - { - if ((npc.getId() == TUREK_ORK_SHAMAN) || (npc.getId() == TUREK_ORK_WARLORD)) - { - giveItems(killer, TUREK_MEDALLION, 1); - } - else - { - giveItems(killer, TUREK_DOG_TAG, 1); - } - - if (getRandom(100) < FRAGMENTS_DROP_PROB.get(npc.getId())) - { - giveItems(killer, getRandom(CLAY_URN_FRAGMENT, JADE_NECKLACE_BEAD), 1); - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String html = getNoQuestMsg(player); - - switch (npc.getId()) - { - case LEIKAN: - { - if (st.isCreated()) - { - html = ((player.getLevel() >= MIN_LVL) ? "30382-02.htm" : "30382-01.htm"); - } - else if (st.isStarted()) - { - if (hasQuestItems(player, LEIKANS_LETTER)) - { - html = "30382-04.html"; - } - else - { - html = "30382-05.html"; - st.setCond(5, true); - } - } - break; - } - case PIOTUR: - { - if (st.isCreated()) - { - html = ((player.getLevel() >= MIN_LVL) ? "30597-02.htm" : "30597-01.htm"); - } - else if (st.isStarted()) - { - if (hasQuestItems(player, LEIKANS_LETTER)) - { - html = "30597-03a.htm"; - takeItems(player, LEIKANS_LETTER, -1); - st.setCond(3, true); - } - else - { - if (!hasQuestItems(player, TUREK_DOG_TAG) && !hasQuestItems(player, TUREK_MEDALLION)) - { - html = "30597-04.html"; - } - else - { - html = "30597-05.html"; - final long dogTags = getQuestItemsCount(player, TUREK_DOG_TAG); - final long medallions = getQuestItemsCount(player, TUREK_MEDALLION); - final long rewardCount = (dogTags * 40) + (medallions * 50) + (((dogTags + medallions) >= 10) ? 619 : 0); - giveAdena(player, rewardCount, true); - takeItems(player, TUREK_DOG_TAG, -1); - takeItems(player, TUREK_MEDALLION, -1); - st.setCond(4, true); - } - } - } - break; - } - case IRIS: - { - if (st.isStarted()) - { - html = "30034-01.html"; - } - break; - } - case ASHA: - { - if (st.isStarted()) - { - html = "30313-01.html"; - } - break; - } - case NESTLE: - { - if (st.isStarted()) - { - html = "30314-01.html"; - } - break; - } - } - - return html; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-01.htm b/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-01.htm deleted file mode 100644 index e07f07ea64..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Trader Sarien:
-I know it is hard to believe, but a long time ago southern Gludio also used to be fertile farmland. However, as you can see, now it is nothing more than barren wasteland. It may seem like barren land to normal people, but true businessmen like me find opportunities in any place.
-I believe there are valuable commodities to be found here in the Wastelands that cannot be found elsewhere. If I am able to find them, I may begin a new business here. When that time comes, I may need your help.
-(Quest for characters level 21 and above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-02.htm b/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-02.htm deleted file mode 100644 index ad96097833..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Trader Sarien:
-I know it is hard to believe, but a long time ago southern Gludio also used to be fertile farmland. However, as you can see, now it is nothing more than barren wastelands. It may seem like barren land to normal people, but true businessmen like me find opportunities in any place.
-In the end, I was able to find something valuable in these Wastelands that could not be found elsewhere. Therefore I have decided to begin a new business here. I would like to have a reliable partner. What do you think about working with me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-03.htm b/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-03.htm deleted file mode 100644 index 8f0d8aab6d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-03.htm +++ /dev/null @@ -1,7 +0,0 @@ -Trader Sarien:
-Good. Spit on the ground and shake on it. Now we have a contract with the goddess of earth, Maphr, as our witness. Now listen to what I have to say.
-Do you remember the eight basic ingredients used for magic research I told you about earlier? We can find some of them in this area. If you'll hunt monster eyes, you can get their useful monster eye carcasses, and once in a while, you can even obtain a monster eye lens, and this is a very valuable item. They say Dwarves use these to make something called "eye glasses."
-Also, if you hunt the basilisk, you can get its gizzard. The basilisk swallows the pebbles of the wastelands to aid its digestion, but inside, they are mixed with jade shards. So we can obtain jade from the basilisk gizzard.
-You can find monster eyes on the coast near here. The basilisk can be found within the Wastelands. There are also monster eyes in the Wastelands, but they are much more dangerous than those on the coast, so you must be careful. But you may be able to find items that are that much more precious, so it is worth taking the challenge to hunt
-From now on, the items you bring to me I will sell to the Ivory Tower. I have already signed a contract with the magicians of the Ivory Tower and fixed the price as well. I will give you 30% of the item price I have agreed to take. So please bring back as much as possible. Well then, may the blessing of the earth be with you, partner. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-04.html b/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-04.html deleted file mode 100644 index 52cad6863f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Sarien:
-Ho, why are your hands empty, partner? Were you not supposed to find me monster eye carcasses and lenses, and the gizzards of the basilisk? You aren't going to quit by any chance, are you?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-05.html b/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-05.html deleted file mode 100644 index 2f71b786ab..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Sarien:
-Come, partner. I am glad you have returned safely from the rugged land. First, relax and catch your breath. As your sack is bulging, you must have gathered quite a few products. Let us take a look at the outcome of the hunt! As promised, I will pay you according to how many items you brought.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-06.html b/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-06.html deleted file mode 100644 index 077e677b02..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Sarien:
-I am sorry to hear that. And there I was, thinking I had met a partner whom I could work with for a long time. However, I have no choice but to look for another partner... Well, I wish you happiness in your future. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-07.html b/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-07.html deleted file mode 100644 index 4776ef3e13..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/30436-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Sarien:
-Then please continue your efforts. I must look for a coach that will deliver the products to Oren's Ivory Tower. I must earn more money to achieve the large business I have planned in my head. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/Q00328_SenseForBusiness.java b/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/Q00328_SenseForBusiness.java deleted file mode 100644 index a172e15f44..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00328_SenseForBusiness/Q00328_SenseForBusiness.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00328_SenseForBusiness; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Sense for Business (328) - * @author xban1x - */ -public class Q00328_SenseForBusiness extends Quest -{ - // NPCs - private static final int SARIEN = 30436; - private static final Map MONSTER_EYES = new HashMap<>(); - private static final Map MONSTER_BASILISKS = new HashMap<>(); - // @formatter:off - static - { - MONSTER_EYES.put(20055, new int[] { 61, 62 }); - MONSTER_EYES.put(20059, new int[] { 61, 62 }); - MONSTER_EYES.put(20067, new int[] { 72, 74 }); - MONSTER_EYES.put(20068, new int[] { 78, 79 }); - MONSTER_BASILISKS.put(20070, 60); - MONSTER_BASILISKS.put(20072, 63); - } - // @formatter:on - // Items - private static final int MONSTER_EYE_CARCASS = 1347; - private static final int MONSTER_EYE_LENS = 1366; - private static final int BASILISK_GIZZARD = 1348; - // Misc - private static final int MONSTER_EYE_CARCASS_ADENA = 25; - private static final int MONSTER_EYE_LENS_ADENA = 1000; - private static final int BASILISK_GIZZARD_ADENA = 60; - private static final int BONUS = 618; - private static final int BONUS_COUNT = 10; - private static final int MIN_LVL = 21; - - public Q00328_SenseForBusiness() - { - super(328, Q00328_SenseForBusiness.class.getSimpleName(), "Sense for Business"); - addStartNpc(SARIEN); - addTalkId(SARIEN); - addKillId(MONSTER_EYES.keySet()); - addKillId(MONSTER_BASILISKS.keySet()); - registerQuestItems(MONSTER_EYE_CARCASS, MONSTER_EYE_LENS, BASILISK_GIZZARD); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - String htmltext = null; - if (st != null) - { - switch (event) - { - case "30436-03.htm": - { - st.startQuest(); - htmltext = event; - break; - } - case "30436-06.html": - { - st.exitQuest(true, true); - htmltext = event; - break; - } - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st != null) - { - switch (st.getState()) - { - case State.CREATED: - { - htmltext = player.getLevel() < MIN_LVL ? "30436-01.htm" : "30436-02.htm"; - break; - } - case State.STARTED: - { - final long carcass = st.getQuestItemsCount(MONSTER_EYE_CARCASS); - final long lens = st.getQuestItemsCount(MONSTER_EYE_LENS); - final long gizzards = st.getQuestItemsCount(BASILISK_GIZZARD); - if ((carcass + lens + gizzards) > 0) - { - st.giveAdena(((carcass * MONSTER_EYE_CARCASS_ADENA) + (lens * MONSTER_EYE_LENS_ADENA) + (gizzards * BASILISK_GIZZARD_ADENA) + ((carcass + lens + gizzards) >= BONUS_COUNT ? BONUS : 0)), true); - takeItems(player, -1, MONSTER_EYE_CARCASS, MONSTER_EYE_LENS, BASILISK_GIZZARD); - htmltext = "30436-05.html"; - } - else - { - htmltext = "30436-04.html"; - } - break; - } - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isPet) - { - final QuestState st = getQuestState(player, false); - if ((st != null) && st.isStarted()) - { - final int chance = getRandom(100); - if (MONSTER_EYES.containsKey(npc.getId())) - { - if (chance < MONSTER_EYES.get(npc.getId())[0]) - { - st.giveItems(MONSTER_EYE_CARCASS, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else if (chance < MONSTER_EYES.get(npc.getId())[1]) - { - st.giveItems(MONSTER_EYE_LENS, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - else if (MONSTER_BASILISKS.containsKey(npc.getId())) - { - if (chance < MONSTER_BASILISKS.get(npc.getId())) - { - st.giveItems(BASILISK_GIZZARD, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - } - return super.onKill(npc, player, isPet); - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-01.htm b/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-01.htm deleted file mode 100644 index 14ccce5902..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Trader Rolento:
-As Elves are infatuated with poetry and songs and Orcs rave over war, we Dwarves love to make things with our very own hands. Ever since I was young, I immensely enjoyed fooling around with toys with springs or pocket watches. My dream is to make a golem with my own hands some day.
-However, I am not talking about the animate, monster golems that you can see frequently. The golems made by the dwarves are automatic dolls that move according to minute mechanical devices. It is totally different from stone golems or granite golems, which are magically blessed with life.
However, I always wondered what the energy source of a magically created golem would be. No matter how carefully I looked at it, I could not find the part that generated power... . There are many golems in the wastelands here. They say it is because the devil Beleth and the magicians of the Ivory Tower used them as weapons of war in this land. If that is true, then that means that more than a thousand years have passed since the golems were abandoned in this land. Don't you find it surprising that they are still moving? What do you think? Aren't you getting curious, too? If you have time later, let's research it together.
-(Quest for characters level 33 and above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-02.htm b/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-02.htm deleted file mode 100644 index 1beeed6909..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Trader Rolento:
-As Elves are infatuated with poetry and songs and Orcs rave over war, we Dwarves love to make things with our very own hands. Ever since I was young, I immensely enjoyed fooling around with toys with springs or pocket watches. My dream is to make a golem with my own hands someday.
-However, I am not talking about the animate, monster golems that you can see frequently. The golems made by the dwarves are automatic dolls that move according to minute mechanical devices. It is totally different from stone golems or granite golems, which were magically blessed with life.
-However, I always wondered what the energy source of a magically created golem would be. No matter how carefully I looked at it, I could not find the part that generated power... There are many golems in the Wastelands here. They say it is because the devil Beleth and the magicians of the Ivory Tower used them as weapons of war in this land. If that is true, then that means that more than a thousand years have passed since the golems were abandoned in this land. What do you think? Aren't you getting curious, too? If you grant my request, it will be a great help to my studies... will you help me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-03.htm b/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-03.htm deleted file mode 100644 index c331082c3f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Trader Rolento:
-Good! We understand each other well. Actually, I recently had a chance to see a destroyed granite golem, and within the remains I saw a piece of stone of a different hue. I asked Sarien, who has profound knowledge of magic, and he said the stone was a heartstone. I found out that all the golems made by the magicians had a heartstone in the center of their bodies.
-What was it that he said? Something about putting a symbolic heart that resembles the living body into a still stone figure, and then gathering the magic forces before beginning the spells... . Of course I didn't understand a word of what he was talking about, but anyway, it seems almost certain that the heartstone is the power source of the golem.
-So, I would like you to go into the Wastelands and get me the heartstone of a golem. There are many granite golems in the Wastelands. There are also granite golems that are nicknamed punchers, because they Brandish their fists about fiercely.
-Most heartstones shatter or crack when the golem is killed, but very rarely you can obtain whole, perfect heartstones. I would like you to bring me all the heartstones you can find -- whether they be broken or whole. I will compensate you for as many as you bring back. Of course, I will be more generous for perfect heartstones. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-04.html b/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-04.html deleted file mode 100644 index ecd24a537a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Rolento:
-Oh dear, your hands are still empty. As I already told you, I need the heartstones of granite golems and punchers. Please go to the Wastelands and find heartstones for me.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-05.html b/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-05.html deleted file mode 100644 index 2f451bcf6a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-05.html +++ /dev/null @@ -1,6 +0,0 @@ -Trader Rolento:
-Oh, you have found some! I will reveal whether or not the power to move rocks like living humans for hundreds of years lies within this small stone. I must begin my research immediately -- starting tonight. Although it is difficult because I do not have any proper tools or measuring devices, because this is not a workshop, I can measure the size with a ruler and the weight with a scale, and pound it with my hammer to fathom its solidity and density. Hmm ... so this goes like this ... and ...
-Oh dear, I've been wrapped up too much in my own thoughts, forgive me! As we promised, I will reward you by the number of heartstones you have brought.
But I wish to have some more heartstones to send to my guild brothers in Giran. What do you say? Could I ask you another favor?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-06.html b/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-06.html deleted file mode 100644 index a0500194c2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Rolento:
-I'm sorry that you are quitting, it is too bad. I'll have to ask someone else. Thanks anyway. May the divine blessing of Maphr, our God of the Earth, be with you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-07.html b/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-07.html deleted file mode 100644 index 18f0149023..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/30437-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Rolento:
-I want to thank you. Thank you so much for helping me satisfy my curiosity. If my studies produce results, then we Dwarves may be able to develop a new power tool that moves mechanical devices. It is all thanks to you. That granted, please help me a little more. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/Q00329_CuriosityOfADwarf.java b/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/Q00329_CuriosityOfADwarf.java deleted file mode 100644 index 31dc4082d5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/Q00329_CuriosityOfADwarf.java +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00329_CuriosityOfADwarf; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.util.Util; - -/** - * Curiosity Of A Dwarf (329) - * @author ivantotov - */ -public final class Q00329_CuriosityOfADwarf extends Quest -{ - // NPC - private static final int TRADER_ROLENTO = 30437; - // Items - private static final int GOLEM_HEARTSTONE = 1346; - private static final int BROKEN_HEARTSTONE = 1365; - // Misc - private static final int MIN_LEVEL = 33; - // Monsters - private static final Map> MONSTER_DROPS = new HashMap<>(); - static - { - MONSTER_DROPS.put(20083, Arrays.asList(new ItemHolder(GOLEM_HEARTSTONE, 3), new ItemHolder(BROKEN_HEARTSTONE, 54))); // Granitic Golem - MONSTER_DROPS.put(20085, Arrays.asList(new ItemHolder(GOLEM_HEARTSTONE, 3), new ItemHolder(BROKEN_HEARTSTONE, 58))); // Puncher - } - - public Q00329_CuriosityOfADwarf() - { - super(329, Q00329_CuriosityOfADwarf.class.getSimpleName(), "Curiosity Of A Dwarf"); - addStartNpc(TRADER_ROLENTO); - addTalkId(TRADER_ROLENTO); - addKillId(MONSTER_DROPS.keySet()); - registerQuestItems(GOLEM_HEARTSTONE, BROKEN_HEARTSTONE); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - String htmltext = null; - if (st == null) - { - return htmltext; - } - - switch (event) - { - case "30437-03.htm": - { - if (st.isCreated()) - { - st.startQuest(); - htmltext = event; - } - break; - } - case "30437-06.html": - { - st.exitQuest(true, true); - htmltext = event; - break; - } - case "30437-07.html": - { - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState st = getQuestState(killer, false); - if ((st != null) && Util.checkIfInRange(1500, npc, killer, true)) - { - final int rnd = getRandom(100); - for (ItemHolder drop : MONSTER_DROPS.get(npc.getId())) - { - if (rnd < drop.getCount()) - { - st.giveItemRandomly(npc, drop.getId(), 1, 0, 1.0, true); - break; - } - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - { - htmltext = player.getLevel() >= MIN_LEVEL ? "30437-02.htm" : "30437-01.htm"; - break; - } - case State.STARTED: - { - if (hasAtLeastOneQuestItem(player, getRegisteredItemIds())) - { - final long broken = st.getQuestItemsCount(BROKEN_HEARTSTONE); - final long golem = st.getQuestItemsCount(GOLEM_HEARTSTONE); - st.giveAdena(((broken * 50) + (golem * 1000) + ((broken + golem) >= 10 ? 1183 : 0)), true); - takeItems(player, -1, getRegisteredItemIds()); - htmltext = "30437-05.html"; - } - else - { - htmltext = "30437-04.html"; - } - break; - } - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-01.htm b/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-01.htm deleted file mode 100644 index 660776e674..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-01.htm +++ /dev/null @@ -1,7 +0,0 @@ -Guard Beltkam:
-My family all lost their lives to Antharas the Land Dragon. My mother and younger sister perished ten years ago, when many southern villages in Giran burned to the ground in the heat of Antharas' rampage. Then, three years ago, when the land dragon extermination force was formed at the lord's command, my father and older brother were recruited as soldiers, sent to the Dragon Valley, and eventually died meaningless deaths.
-I swore an oath before my family graves that I would slay that great evil creature. Everyone holds me back, saying that it is a futile effort, but I will definitely bring Antharas down. It's the only way I know to bring peace to my family's spirits.
-I have prepared diligently during this past year for my revenge. I consulted with many mercenaries, and I even researched documents relating to the dragon in the Ivory Tower's library. The dwarf bounty hunter "Terrin Wymslayer," who is a famous dragon hunter, especially gave me many words of advice. I finally came to the conclusion that arrows were the most effective weapons.
-Now, then. I do not mind telling you of my troubles, but I cannot ask you to help me in this endeavor, at least not as you are now. One day, perhaps, I may be in your debt.
-(Only characters above level 32 are permitted to take on this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-02.htm b/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-02.htm deleted file mode 100644 index a6811fa31f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-02.htm +++ /dev/null @@ -1,7 +0,0 @@ -Guard Beltkam:
-I lost my whole family to Antharas the Land Dragon. My mother and younger sister perished ten years ago, when many southern villages in Giran burned to the ground in the heat of Antharas' rampage. Then, three years ago, when the land dragon extermination force was formed at the lord's command, my father and older brother were recruited as soldiers, sent to the Dragon Valley, and eventually died meaningless deaths.
-I swore an oath before my family graves that I would slay that great evil creature. Everyone holds me back, saying that it is a futile effort, but I will definitely bring Antharas down. Don't you think that's the only way to bring peace to the spirits of my family?
-I have prepared diligently during this past year for my revenge. I consulted with many mercenaries, and I even researched documents relating to the dragon in the Ivory Tower's library. The dwarf bounty hunter "Terrin Wymslayer," who is a famous dragon hunter, especially gave me many words of advice. I finally came to the conclusion that arrows were the most effective weapons.
-For the past six months, I have repledged my oath of revenge every day, while working to forge an arrow that will kill Antharas. But the ingredients needed to create the arrow are all difficult to obtain. That is why I must frequently ask travelers like you to collect these ingredients for me. Can I also ask this favor of you?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-03.htm b/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-03.htm deleted file mode 100644 index 78ac53eb1b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Guard Belton:
-I am not foolish enough to think that I can avenge the death of my family alone. I have received the aid of many, and will continue to ask favors of those like yourself.
-The materials you must find for me are the Silver Feathers of a Harpy, Wyrm Teeth and the venom from a Medusa. The Harpy's Feathers are used to make the fletching for the arrows, while the Wyrm Teeth will be used for arrowheads. They say that if one applies the venomous poison of the Medusa on the tip of the arrow and dries it properly, the poison will retain its effects for many years.
-As soon as you have obtained these three materials, bring them to me, for I will give you a reward for each. I've inherited quite a fortune from my deceased parents, so be confident that your reward will be grand. I have no use material things as avenging my family is all I know now. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-04.html b/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-04.html deleted file mode 100644 index 09dd94c596..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-04.html +++ /dev/null @@ -1,6 +0,0 @@ -Guard Belton:
-You've come back empty-handed. Did you not promise to bring me harpy's Silver Feathers, the teeth of a Wyrm and the venom of a medusa?
-As soon as you obtain these three materials, bring them to me. I will reward you for each that you bring back. I've inherited quite a fortune from my deceased parents, so don't worry about the reward. Please don't quit, help me.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-05.html b/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-05.html deleted file mode 100644 index 64aede64cb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-05.html +++ /dev/null @@ -1,6 +0,0 @@ -Guard Belton:
-I'm feeling an exceptionally strong longing for my family today. But I cannot risk falling into my fancies and having my determination shaken or my will for revenge weakened. Every day as I make arrows, sharpen the teeth of the wyrms, and put feathers on my arrows, I think of my dead family. And as I apply the poison of the medusa on the end of the arrowhead, I curse Antharas.
-Now, shall we take a look at the materials you have brought? Good. This should be enough material to make arrows for a few days. As promised, I will reward you according to the number of materials you have brought me. This should be enough, I presume? If you are not planning to leave any time soon, could you help me some more? I beg you!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-06.html b/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-06.html deleted file mode 100644 index e3bc7cce0a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Belton:
-I understand. This revenge is mine alone, anyway. I cannot rely on the kindness of others forever.
-Are you planning to leave again? Then I guess this is goodbye. But a person's future is not certain. Perhaps I may be the one to come to your aid later. Or I may be slain by Antharas without having fulfilled my revenge, and meet my family in the afterlife. The laws of the gods and of fate are truly mysterious. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-07.html b/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-07.html deleted file mode 100644 index 5ef6eda247..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/30125-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Belton:
-Then please continue your efforts. I am certain that my revenge will be complete, thanks to those like you who have come to my aid. The gods control our fates, but I believe that if the will is strong enough and the conviction steadfast, the gods will be moved and allow one's fate to be reforged. One day I will surely shoot an arrow into the heart of Antharas! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/Q00331_ArrowOfVengeance.java b/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/Q00331_ArrowOfVengeance.java deleted file mode 100644 index 1eba2701f0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/Q00331_ArrowOfVengeance.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00331_ArrowOfVengeance; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Arrow for Vengeance (331) - * @author xban1x - */ -public class Q00331_ArrowOfVengeance extends Quest -{ - // NPCs - private static final int BELTON = 30125; - // Items - private static final int HARPY_FEATHER = 1452; - private static final int MEDUSA_VENOM = 1453; - private static final int WYRMS_TOOTH = 1454; - // Monster - private static final Map MONSTERS = new HashMap<>(); - static - { - MONSTERS.put(20145, 59); // Harpy - MONSTERS.put(20158, 61); // Medusa - MONSTERS.put(20176, 60); // Wyrm - } - // Misc - private static final int MIN_LVL = 32; - private static final int HARPY_FEATHER_ADENA = 78; - private static final int MEDUSA_VENOM_ADENA = 88; - private static final int WYRMS_TOOTH_ADENA = 92; - private static final int BONUS = 3100; - private static final int BONUS_COUNT = 10; - - public Q00331_ArrowOfVengeance() - { - super(331, Q00331_ArrowOfVengeance.class.getSimpleName(), "Arrow for Vengeance"); - addStartNpc(BELTON); - addTalkId(BELTON); - addKillId(MONSTERS.keySet()); - registerQuestItems(HARPY_FEATHER, MEDUSA_VENOM, WYRMS_TOOTH); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - String htmltext = null; - if (st != null) - { - switch (event) - { - case "30125-03.htm": - { - st.startQuest(); - htmltext = event; - break; - } - case "30125-06.html": - { - st.exitQuest(true, true); - htmltext = event; - break; - } - case "30125-07.html": - { - htmltext = event; - break; - } - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st != null) - { - switch (st.getState()) - { - case State.CREATED: - { - htmltext = player.getLevel() < MIN_LVL ? "30125-01.htm" : "30125-02.htm"; - break; - } - case State.STARTED: - { - final long harpyFeathers = st.getQuestItemsCount(HARPY_FEATHER); - final long medusaVenoms = st.getQuestItemsCount(MEDUSA_VENOM); - final long wyrmsTeeth = st.getQuestItemsCount(WYRMS_TOOTH); - if ((harpyFeathers + medusaVenoms + wyrmsTeeth) > 0) - { - st.giveAdena(((harpyFeathers * HARPY_FEATHER_ADENA) + (medusaVenoms * MEDUSA_VENOM_ADENA) + (wyrmsTeeth * WYRMS_TOOTH_ADENA) + ((harpyFeathers + medusaVenoms + wyrmsTeeth) >= BONUS_COUNT ? BONUS : 0)), true); - takeItems(player, -1, HARPY_FEATHER, MEDUSA_VENOM, WYRMS_TOOTH); - htmltext = "30125-05.html"; - } - else - { - htmltext = "30125-04.html"; - } - break; - } - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isPet) - { - final QuestState st = getQuestState(player, false); - if (st != null) - { - if (getRandom(100) < MONSTERS.get(npc.getId())) - { - switch (npc.getId()) - { - case 20145: - { - st.giveItems(HARPY_FEATHER, 1); - break; - } - case 20158: - { - st.giveItems(MEDUSA_VENOM, 1); - break; - } - case 20176: - { - st.giveItems(WYRMS_TOOTH, 1); - break; - } - } - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - return super.onKill(npc, player, isPet); - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-01.htm b/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-01.htm deleted file mode 100644 index 3b672d761c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Trader Enverun:
-I'm sure you've heard the stories about Alligator Island?! Long ago, some alligators were brought over from Avella. They thrived and soon their numbers had multiplied to the point that the island they lived on became known as "Alligator Island."
-The residents of Heine are quite nervous having so many dangerous beasts nearby... But the alligators have resisted numerous attempts by forces of the castle to wipe them out... You shouldn't go there. You would most certainly perish...
-(This quest can only be undertaken by a character of level 40 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-02.htm b/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-02.htm deleted file mode 100644 index b56a97db2f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Trader Enverun:
-I'm sure you've heard the stories about Alligator Island?! Long ago, some alligators were brought over from Avella. They thrived and soon their numbers had multiplied to the point that the island they lived on became known as "Alligator Island."
-The residents of Heine are quite nervous having so many dangerous beasts nearby, but the alligators have resisted numerous attempts by forces of the castle to wipe them out. However, if one knows what one is doing, quite a handsome profit can be made from them!
-Would you care to join us on an alligator hunt?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-03.htm b/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-03.htm deleted file mode 100644 index 01fb49a5cc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Trader Enverun:
-Wonderful! You should be honored! I don't ask just anyone to be my partner, but I like the cut of your jib!
-Now, let me explain how this is done. You must go to Alligator Island and kill as many alligators as you can. Bring their pelts back to me; I'll pay you 60 Adena for each one. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-04.html b/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-04.html deleted file mode 100644 index a8166cb27a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Enverun:
-Hey, partner! How is the alligator hunt coming along? Have you brought me any pelts?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-05.html b/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-05.html deleted file mode 100644 index 2002dd3555..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Enverun:
-What, no pelts to give me? Are you slacking? We need to make some Adena! Do you understand? Happy hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-06.html b/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-06.html deleted file mode 100644 index 0da1426401..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-06.html +++ /dev/null @@ -1,7 +0,0 @@ -Trader Enverun:
-Great, how many pelts have you brought me?
-Here is your Adena.
-Would you like to keep hunting alligators?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-07.html b/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-07.html deleted file mode 100644 index 1b5ca1236c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Enverun:
-Fine, we'll settle up later... Whatever is best for you. I suppose you are off again to kill alligators? Happy hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-08.html b/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-08.html deleted file mode 100644 index 8fe188a17f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Enverun:
-That's great! Chances like this come along once in a lifetime, am I right? Happy hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-09.html b/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-09.html deleted file mode 100644 index 039a487790..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-09.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Enverun:
-Oh, that's not good! Just when the money started rolling in! Please, won't you reconsider?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-10.html b/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-10.html deleted file mode 100644 index 1d0c54079b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/30892-10.html +++ /dev/null @@ -1,4 +0,0 @@ -Trader Enverun:
-Well, you must have a good reason. Thank you for your hard work. Here is a token of our gratitude for all your help.
-Take care! Hopefully we will work together again some day, partner! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/Q00338_AlligatorHunter.java b/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/Q00338_AlligatorHunter.java deleted file mode 100644 index b2db26145d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00338_AlligatorHunter/Q00338_AlligatorHunter.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00338_AlligatorHunter; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Alligator Hunter (338) - * @author malyelfik - */ -public class Q00338_AlligatorHunter extends Quest -{ - // NPC - private static final int ENVERUN = 30892; - - // Monster - private static final int ALLIGATOR = 20135; - - // Items - private static final int ALLIGATOR_LEATHER = 4337; - - // Misc - private static final int MIN_LEVEL = 40; - private static final int SECOND_CHANCE = 19; - - public Q00338_AlligatorHunter() - { - super(338, Q00338_AlligatorHunter.class.getSimpleName(), "Alligator Hunter"); - addStartNpc(ENVERUN); - addTalkId(ENVERUN); - addKillId(ALLIGATOR); - - registerQuestItems(ALLIGATOR_LEATHER); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "30892-03.htm": - st.startQuest(); - break; - case "30892-06.html": - if (!st.hasQuestItems(ALLIGATOR_LEATHER)) - { - return "30892-05.html"; - } - int amount = (st.getQuestItemsCount(ALLIGATOR_LEATHER) >= 10) ? 3430 : 0; - amount += 60 * st.getQuestItemsCount(ALLIGATOR_LEATHER); - st.giveAdena(amount, true); - st.takeItems(ALLIGATOR_LEATHER, -1); - break; - case "30892-10.html": - st.exitQuest(true, true); - break; - case "30892-07.html": - case "30892-08.html": - case "30892-09.html": - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - if (st != null) - { - st.giveItems(ALLIGATOR_LEATHER, 1); - if (getRandom(100) < SECOND_CHANCE) - { - st.giveItems(ALLIGATOR_LEATHER, 1); - } - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30892-02.htm" : "30892-01.htm"; - break; - case State.STARTED: - htmltext = "30892-04.html"; - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-01.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-01.html deleted file mode 100644 index 66f4b1f0c1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-01.html +++ /dev/null @@ -1,5 +0,0 @@ -High Priestess Levian:
-The followers of Einhasad will always be subject to trials. Now is no different, as the people of Gludio are being confronted by evil itself.
-Lizardmen are reptiles. They look somewhat like dragons. They are just the lackeys of Shilen. The true evil we must confront is evil spirit Bifrons, who is secretly controlling the actions of the lizardmen. Please help us deal with him.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-02.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-02.html deleted file mode 100644 index f6bfc8152b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-02.html +++ /dev/null @@ -1,5 +0,0 @@ -High Priestess Levian:
-From all accounts it seems that the lizardmen worship Bifrons as a god. I would not be surprised to discover that he was being controlled by an even higher being.
-I sense a great evil on the south shore of Gludio. You will not be able to deal with this menace alone, you must bring your trusted comrades with you.
-You must kill the evil spirit and find a weird looking chest. Inside this chest you will find the mark of darkness. Bring it to me. Then, together, with the power of the goddess, we will destroy that blasphemous object. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-03.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-03.html deleted file mode 100644 index 8d36a88662..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-03.html +++ /dev/null @@ -1,4 +0,0 @@ -High Priestess Levian:
-The evil spirit can be found on the south shore of Gludio. You must not confront Bifrons alone. Take comrades with you.
-After slaying the evil spirit, find the weird looking chest and bring me the mark of darkness that is contained within. Then we will destroy that blasphemous object once and for all. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-04.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-04.html deleted file mode 100644 index b0dca68932..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-04.html +++ /dev/null @@ -1,4 +0,0 @@ -High Priestess Levian:
-Ah, it is a pleasure to see you once again in bosom of the goddess. Now I must prepare for the ritual to destroy this evil object. I have let the guards know of your noble deeds in service to the temple. Guard Weisz wishes to meet with you. You should go and see him right away.
-And remember, never let your guard down, even for a moment. May the divine protection of the goddess be with you as you fight for justice...
- \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-05.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-05.html deleted file mode 100644 index 20712c286d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30037-05.html +++ /dev/null @@ -1,3 +0,0 @@ -High Priestess Levian:
-The guards have been apprised of your noble service to the temple. You should go and meet Guard Weisz right away. May the blessing of Einhasad be with you... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-01.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-01.html deleted file mode 100644 index 87edac0b0b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-01.html +++ /dev/null @@ -1,6 +0,0 @@ -Priest Adonius:
-Were you sent by the guards? Oh, thank heaven you've arrived! We are desperately in need of your help!
-First, I suppose I should tell you of the horrible event of three days ago. Priestess Agnes was leading a group of the faithful of our congregation back home from a pilgrimage to the Grand Temple in Giran when they were attacked by the dreaded Langk lizardmen. They were all slaughtered mercilessly, in the most gruesome fashion!
-Now I can think of nothing but recovering the remains of our faithful and giving them a proper burial. We must at least recover the relics left by Agnes.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-02.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-02.html deleted file mode 100644 index a9b7698231..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-02.html +++ /dev/null @@ -1,5 +0,0 @@ -Priest Adonius:
-Oh, thank you! The site of the massacre is on the south shore of Gludio. Please find and return the remains of Priestess Agnes so that we can give her a proper burial.
-Please, bring us her crucifix and rosary.
-Now please be off, time is of the essence... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-03.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-03.html deleted file mode 100644 index 7a8e490215..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Priest Adonius:
-Please recover the crucifix and rosary that belonged to Priestess Agnes. This is essential if we are to give her a proper funeral.
-You will find her remains on the south shore of Gludio. You should leave for there immediately! May the light of Einhasad guide your path... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-04.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-04.html deleted file mode 100644 index af54835ba8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-04.html +++ /dev/null @@ -1,6 +0,0 @@ -Priest Adonius:
-You have performed a noble deed for our temple. Now Agnes can have a funeral befitting a person of her stature.
-It is all so very tragic! I know that all that happens is the will of Einhasad, still, when something so senseless happens it makes a person wonder...
-Well, we must meditate upon the light and seek the truth of the Goddess.
-Our struggle is bound to continue. Our temple could definitely use the services of a powerful defender such as yourself. Please go and meet with High Priestess Levian. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-05.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-05.html deleted file mode 100644 index 420c4a54fd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Priest Adonius:
-High Priestess Levian is expecting you. She will tell you what you need to do. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-06.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-06.html deleted file mode 100644 index 501841b79d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30375-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Priest Adonius:
-Oh Divine One, please give this fine warrior the strength and courage to conquer the evil ones... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-01.htm b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-01.htm deleted file mode 100644 index ce48331235..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Guard Weisz:
-Do you plan to follow the northern road on your voyage to Oren? If so, you must beware of the lizardmen. They are becoming more brazen in their atrocities.
-Those filthy reptiles! It wasn't enough to burn farms and slaughter livestock, now they are looting in broad daylight! Something must be done about this outrage!
-Unfortunately, our guards have their hands full with the Turek orcs and Ol Mahums... We have come to the conclusion that we have no choice but to rely on mercenaries to save us from these lizardmen. If you know any skilled ones, send them to me.
-(This quest can only be undertaken by a character of level 17 or higher.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-02.htm b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-02.htm deleted file mode 100644 index 9de277137c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Guard Weisz:
-Do you plan to follow the northern road on your voyage to Oren? If so, you must beware of the lizardmen. They are becoming more brazen with their atrocities.
-Those filthy reptiles! It wasn't enough to burn farms and slaughter livestock. Now they are looting in broad daylight! Something must be done about this outrage!
-Unfortunately, our guards have their hands full with the Turek orcs and the Ol Mahums... We are going to have to rely on mercenaries to save us from these lizardmen. If you know any skilled ones, please send them to me!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-03.htm b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-03.htm deleted file mode 100644 index ea74c51b49..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Guard Weisz:
-Yes, I suppose you could be helpful.
-Recently, lizardmen have been attacking the cargo wagons of the Aden Trade Guild. They slaughter the traders and guards and plunder the cargo. The guild has filed a formal request for assistance in dealing with the lizardmen. This task falls to you.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-04.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-04.html deleted file mode 100644 index 1def8e85b4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Weisz:
-You must recover 30 Cargo Boxes belonging to the trade guild from the felim lizardmen. They can be found at the Fellmere Harvesting Grounds between the Ruins of Agony and Windy Hill. Go and destroy those filthy reptiles and restore peace to the village! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-05.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-05.html deleted file mode 100644 index bb22e9c5a0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Weisz:
-Please hurry! The trade guild is getting impatient. Their cargo wagons are still coming under attack from felim lizardmen at the Fellmere Harvesting Grounds. Go and recover 30 Cargo Boxes belonging to the trade guild. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-06.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-06.html deleted file mode 100644 index df134fbf3a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-06.html +++ /dev/null @@ -1,6 +0,0 @@ -Guard Weisz:
-Ah, you've recovered all of the guild's Cargo Boxes! Good job! I will return them to the Aden Trade Guild immediately. We really appreciate your hard work.
-However, despite the efforts of noble mercenaries like yourself, the lizardmen continue their despicable actions. The day before yesterday Langk lizardmen attacked and killed pilgrims from the temple of Einhasad! The temple has asked the Guards to recover the remains of the pilgrims. Would you care to join us on this mission?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-07.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-07.html deleted file mode 100644 index 8a66828e2b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Weisz:
-You must speak with Priest Adonius of the Einhasad Temple. He knows the whole story. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-08.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-08.html deleted file mode 100644 index ef00221d77..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-08.html +++ /dev/null @@ -1,6 +0,0 @@ -Guard Weisz:
-Oh well, too bad. I'll have to find someone else to help the temple.
-Anyway, the guild is still suffering attacks from the felim lizardmen. Once again we must send a mercenary to recover stolen cargo from them. Are you interested?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-09.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-09.html deleted file mode 100644 index 8bc2fe95ca..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-09.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Weisz:
-First, please accept this token of our appreciation for the work you've done so far...
-The task is the same as before. You must kill felim lizardmen at the Fellmere Harvesting Grounds between the Ruins of Agony and Windy Hill and recover 30 Cargo Boxes belonging to the trade guild. Thank you for once again helping our cause. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-10.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-10.html deleted file mode 100644 index 3f7529e691..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Weisz:
-Very well. Please accept this token of appreciation for all of your hard work from the people of Gludio. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-11.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-11.html deleted file mode 100644 index 55ab91ec8d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-11.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Weisz:
-Priest Adonius awaits! Leave for the temple of Einhasad immediately! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-12.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-12.html deleted file mode 100644 index ed963cf7d0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-12.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Weisz:
-The people of Gludio put their faith in the priests of Einhasad. The murder of the pilgrims by Langk lizardmen will not be forgotten! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-13.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-13.html deleted file mode 100644 index 90c7f969bf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30385-13.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Weisz:
-High Priestess Levian has spoken about you. She says that you stabbed to death the ringleader of the rampaging lizardmen, is that true? Very impressive! Please accept this gift on behalf of the people of Gludio! Perhaps one day, with the help of noble warriors like you, lizardmen will be wiped from the face of the earth! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30989-01.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30989-01.html deleted file mode 100644 index 97e9dffc82..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30989-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Chest of Bifrons:
-The chest emits a sinister aura.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30989-02.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30989-02.html deleted file mode 100644 index 6f9877d584..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30989-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Chest of Bifrons:
-Inside the chest is a crudely-cut statue made of black rock. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30989-03.html b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30989-03.html deleted file mode 100644 index 3dac1046ac..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/30989-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Chest of Bifrons:
-The chest is empty. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/Q00340_SubjugationOfLizardmen.java b/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/Q00340_SubjugationOfLizardmen.java deleted file mode 100644 index 9b580c88bf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00340_SubjugationOfLizardmen/Q00340_SubjugationOfLizardmen.java +++ /dev/null @@ -1,345 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00340_SubjugationOfLizardmen; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.util.Util; - -/** - * Subjugation Of Lizardmen (340) - * @author ivantotov - */ -public final class Q00340_SubjugationOfLizardmen extends Quest -{ - // NPCs - private static final int HIGH_PRIESTESS_LEVIAN = 30037; - private static final int PRIEST_ADONIUS = 30375; - private static final int GUARD_WEISZ = 30385; - private static final int CHEST_OF_BIFRONS = 30989; - // Items - private static final int TRADE_CARGO = 4255; - private static final int AGNESS_HOLY_SYMBOL = 4256; - private static final int AGNESS_ROSARY = 4257; - private static final int SINISTER_TOTEM = 4258; - // Monster - private static final int FELIM_LIZARDMAN = 20008; - private static final int FELIM_LIZARDMAN_SCOUT = 20010; - private static final int FELIM_LIZARDMAN_WARRIOR = 20014; - private static final int LANGK_LIZARDMAN_WARRIOR = 20024; - private static final int LANGK_LIZARDMAN_SCOUT = 20027; - private static final int LANGK_LIZARDMAN = 20030; - // Raid Boss - private static final int SERPENT_DEMON_BIFRONS = 25146; - // Misc - private static final int MIN_LEVEL = 17; - - public Q00340_SubjugationOfLizardmen() - { - super(340, Q00340_SubjugationOfLizardmen.class.getSimpleName(), "Subjugation Of Lizardmen"); - addStartNpc(GUARD_WEISZ); - addTalkId(GUARD_WEISZ, HIGH_PRIESTESS_LEVIAN, PRIEST_ADONIUS, CHEST_OF_BIFRONS); - addKillId(FELIM_LIZARDMAN, FELIM_LIZARDMAN_SCOUT, FELIM_LIZARDMAN_WARRIOR, LANGK_LIZARDMAN_WARRIOR, LANGK_LIZARDMAN_SCOUT, LANGK_LIZARDMAN, SERPENT_DEMON_BIFRONS); - registerQuestItems(TRADE_CARGO, AGNESS_HOLY_SYMBOL, AGNESS_ROSARY, SINISTER_TOTEM); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30385-03.htm": - { - if (qs.isCreated()) - { - qs.startQuest(); - qs.setMemoState(1); - htmltext = event; - } - break; - } - case "30385-04.html": - case "30385-08.html": - { - htmltext = event; - break; - } - case "30385-07.html": - { - takeItems(player, TRADE_CARGO, -1); - qs.setMemoState(2); - qs.setCond(2, true); - htmltext = event; - break; - } - case "30385-09.html": - { - if (getQuestItemsCount(player, TRADE_CARGO) >= 30) - { - giveAdena(player, 4090, true); - takeItems(player, TRADE_CARGO, -1); - qs.setMemoState(1); - htmltext = event; - } - break; - } - case "30385-10.html": - { - if (getQuestItemsCount(player, TRADE_CARGO) >= 30) - { - giveAdena(player, 4090, true); - takeItems(player, TRADE_CARGO, -1); - qs.exitQuest(false, true); - htmltext = event; - } - break; - } - case "30037-02.html": - { - qs.setMemoState(5); - qs.setCond(5, true); - htmltext = event; - break; - } - case "30375-02.html": - { - qs.setMemoState(3); - qs.setCond(3, true); - htmltext = event; - break; - } - case "30989-02.html": - { - if (qs.isMemoState(5)) - { - qs.setMemoState(6); - qs.setCond(6, true); - giveItems(player, SINISTER_TOTEM, 1); - htmltext = event; - } - else - { - htmltext = "30989-03.html"; - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getQuestState(killer, false); - if ((qs != null) && qs.isStarted() && Util.checkIfInRange(1500, npc, killer, true)) - { - switch (npc.getId()) - { - case FELIM_LIZARDMAN: - case FELIM_LIZARDMAN_SCOUT: - { - if (qs.isMemoState(1)) - { - giveItemRandomly(killer, npc, TRADE_CARGO, 1, 30, 0.63, true); - } - break; - } - case FELIM_LIZARDMAN_WARRIOR: - { - if (qs.isMemoState(1)) - { - giveItemRandomly(killer, npc, TRADE_CARGO, 1, 30, 0.68, true); - } - break; - } - case LANGK_LIZARDMAN_WARRIOR: - { - if (qs.isMemoState(3)) - { - if (!hasQuestItems(killer, AGNESS_HOLY_SYMBOL) && (getRandom(100) <= 19)) - { - giveItems(killer, AGNESS_HOLY_SYMBOL, 1); - playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else if (hasQuestItems(killer, AGNESS_HOLY_SYMBOL) && !hasQuestItems(killer, AGNESS_ROSARY) && (getRandom(100) <= 18)) - { - giveItems(killer, AGNESS_ROSARY, 1); - playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - break; - } - case LANGK_LIZARDMAN_SCOUT: - case LANGK_LIZARDMAN: - { - if (qs.isMemoState(3)) - { - if (!hasQuestItems(killer, AGNESS_HOLY_SYMBOL) && (getRandom(100) <= 18)) - { - giveItems(killer, AGNESS_HOLY_SYMBOL, 1); - playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else if (hasQuestItems(killer, AGNESS_HOLY_SYMBOL) && !hasQuestItems(killer, AGNESS_ROSARY) && (getRandom(100) <= 18)) - { - giveItems(killer, AGNESS_ROSARY, 1); - playSound(killer, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - break; - } - case SERPENT_DEMON_BIFRONS: - { - addSpawn(CHEST_OF_BIFRONS, npc, true, 30000); - break; - } - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - final int memoState = qs.getMemoState(); - String htmltext = getNoQuestMsg(player); - if (qs.isCreated()) - { - if (npc.getId() == GUARD_WEISZ) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30385-02.htm" : "30385-01.htm"; - } - } - else if (qs.isStarted()) - { - switch (npc.getId()) - { - case GUARD_WEISZ: - { - if (memoState == 1) - { - if (getQuestItemsCount(player, TRADE_CARGO) < 30) - { - htmltext = "30385-05.html"; - } - else - { - htmltext = "30385-06.html"; - } - } - else if (memoState == 2) - { - htmltext = "30385-11.html"; - } - else if ((memoState >= 3) && (memoState < 7)) - { - htmltext = "30385-12.html"; - } - else if (memoState == 7) - { - giveAdena(player, 14700, true); - qs.exitQuest(false, true); - htmltext = "30385-13.html"; - } - break; - } - case HIGH_PRIESTESS_LEVIAN: - { - if (memoState == 4) - { - htmltext = "30037-01.html"; - } - else if (memoState == 5) - { - htmltext = "30037-03.html"; - } - else if (memoState == 6) - { - takeItems(player, SINISTER_TOTEM, 1); - qs.setMemoState(7); - qs.setCond(7, true); - htmltext = "30037-04.html"; - } - else if (memoState == 7) - { - htmltext = "30037-05.html"; - } - break; - } - case PRIEST_ADONIUS: - { - if (memoState == 2) - { - htmltext = "30375-01.html"; - } - else if (memoState == 3) - { - if (hasQuestItems(player, AGNESS_HOLY_SYMBOL, AGNESS_ROSARY)) - { - takeItems(player, AGNESS_HOLY_SYMBOL, 1); - takeItems(player, AGNESS_ROSARY, 1); - qs.setMemoState(4); - qs.setCond(4, true); - htmltext = "30375-04.html"; - } - else - { - htmltext = "30375-03.html"; - } - } - else if (memoState == 4) - { - htmltext = "30375-05.html"; - } - else if (memoState >= 5) - { - htmltext = "30375-06.html"; - } - break; - } - case CHEST_OF_BIFRONS: - { - if (memoState == 5) - { - htmltext = "30989-01.html"; - } - break; - } - } - } - else if (qs.isCompleted()) - { - if (npc.getId() == GUARD_WEISZ) - { - htmltext = getAlreadyCompletedMsg(player); - } - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-01.html b/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-01.html deleted file mode 100644 index c5207bbd99..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-01.html +++ /dev/null @@ -1,6 +0,0 @@ -Grocer Pano:
-I am beside myself!
-Would you mind if I tell you my problem? Recently the salmon population in the river to the west of this village has exploded. This is not even the spawning season and yet all the fish are returning at once. I feared that this may be an omen of bad things to come, but the businessman in me saw a great opportunity. In spite of my reservations I started selling fishing gear and opened a resort.
-Sounds great, right? Well, the problem is...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-02.htm b/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-02.htm deleted file mode 100644 index b15c8c0ac0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-02.htm +++ /dev/null @@ -1,7 +0,0 @@ -Grocer Pano:
-I am beside myself!
-Would you mind if I tell you my problem? Recently the salmon population in river to the west of this village has exploded. This is not even the spawning season and yet all the fish are returning at once. I feared that this may be an omen of bad things to come, but the businessman in me saw a great opportunity. In spite of my reservations I started selling fishing gear and opened a resort.
-Sounds great, right? Well, the problem is...
-You know, I don't really feel comfortable talking about my problems with you. Why don't you come back when you've had more experience. I will have something to ask of you then.
-(This quest can only be undertaken by a character of level 20 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-03.htm b/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-03.htm deleted file mode 100644 index e9a93c6921..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Grocer Pano:
-Well, you see, when the river became clotted with salmon, inland bears started coming down to the river to gorge themselves. It was inevitable that they would clash violently with the fishermen there. Consequently my fishing resort was forced out of business, and I'm stuck with this huge stock of fishing gear!
-Would you be interested in earning some money? Please hunt down and kill the bears. I will pay you well!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-04.htm b/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-04.htm deleted file mode 100644 index b5c2fe89e0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-04.htm +++ /dev/null @@ -1,5 +0,0 @@ -Grocer Pano:
-Excellent! I bet you'll give those filthy bears what they have coming. Kill the Dion grizzly! Most of the bears by the river have already been killed, so you'll need to search nearby... Try the Dion Hills...
-In Gludio you will also find red bears, grizzly bears and brown bears. I hate those filthy beasts! If I could I would obliterate every single stinking bear on earth!
-Bring me at least 20 bear pelts. You'll be well-rewarded. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-05.html b/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-05.html deleted file mode 100644 index f75ad985d2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Grocer Pano:
-Good job! You shall be rewarded handsomely.
-The efforts of noble hunters like you will one day make the re-opening of my resort possible. Please stop by when we get it up and running. I know you will enjoy fishing there! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-06.html b/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-06.html deleted file mode 100644 index 55899c4f0b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/30078-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Grocer Pano:
-Have you killed the bears? You haven't killed enough of them. You must collect 20 bear pelts and bring them back to me. Otherwise, you shall not be paid.
-You must hunt the red bears, grizzly bears, brown bears and the Dion grizzly. Kill them all! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/Q00341_HuntingForWildBeasts.java b/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/Q00341_HuntingForWildBeasts.java deleted file mode 100644 index 94be644e84..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/Q00341_HuntingForWildBeasts.java +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00341_HuntingForWildBeasts; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Hunting for Wild Beasts (341) - * @author xban1x - */ -public class Q00341_HuntingForWildBeasts extends Quest -{ - // NPCs - private static final int PANO = 30078; - // Monsters - private static final Map MONSTERS = new HashMap<>(); - static - { - MONSTERS.put(20203, 99); - MONSTERS.put(20310, 87); - MONSTERS.put(20021, 83); - MONSTERS.put(20335, 87); - } - // Items - private static final int BEAR_SKIN = 4259; - // Misc - private static final int MIN_LVL = 20; - private static final int ADENA_COUNT = 3710; - private static final int REQUIRED_COUNT = 20; - - public Q00341_HuntingForWildBeasts() - { - super(341, Q00341_HuntingForWildBeasts.class.getSimpleName(), "Hunting for Wild Beasts"); - addStartNpc(PANO); - addTalkId(PANO); - addKillId(MONSTERS.keySet()); - registerQuestItems(BEAR_SKIN); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - String htmltext = null; - if (st != null) - { - switch (event) - { - case "30078-03.htm": - { - htmltext = event; - break; - } - case "30078-04.htm": - { - st.startQuest(); - htmltext = event; - break; - } - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - String htmltext = getNoQuestMsg(player); - if (st != null) - { - switch (st.getState()) - { - case State.CREATED: - { - htmltext = player.getLevel() >= MIN_LVL ? "30078-01.html" : "30078-02.htm"; - break; - } - case State.STARTED: - { - if (st.isCond(2) && (st.getQuestItemsCount(BEAR_SKIN) >= REQUIRED_COUNT)) - { - st.giveAdena(ADENA_COUNT, true); - st.exitQuest(true, true); - htmltext = "30078-05.html"; - } - else - { - htmltext = "30078-06.html"; - } - break; - } - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isPet) - { - final QuestState st = getQuestState(player, false); - if ((st != null) && st.isCond(1)) - { - long skins = st.getQuestItemsCount(BEAR_SKIN); - if (skins < REQUIRED_COUNT) - { - if (getRandom(100) < MONSTERS.get(npc.getId())) - { - st.giveItems(BEAR_SKIN, 1); - if ((++skins) < REQUIRED_COUNT) - { - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else - { - st.setCond(2, true); - } - } - } - } - return super.onKill(npc, player, isPet); - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-01.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-01.html deleted file mode 100644 index f4db9352a0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-01.html +++ /dev/null @@ -1,6 +0,0 @@ -Magister Xenovia:
-I'm afraid I can't tell you much about that Medium Jar, not that you are the first to inquire about it... Some fellow from the Dark Elven village was asking questions about it a while back.
-I'm of the opinion that the urn's abilities have been vastly over-stated in these wild rumors. I don't believe that actual souls of the dead can be conjured with it. At most it is a simple conduit between this world and the abyss where Shilen dwells. Hmm, that isn't far from the rumors, is it? Heh heh...
-Oh, yes, I forgot. Some powder was delivered here recently that is supposed to be used with the urn. Something about putting it into the urn along with an article belonging to a dead person...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-02.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-02.html deleted file mode 100644 index b45f77d472..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-02.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Xenovia:
-Well, we certainly aren't trying to keep anyone from using the urn that wants to... I suppose you will be wanting to summon a departed one's soul? I'm sorry, my friend, but the powder you need will not come for free... It may not look like much, but it is the property of the guild... A pouch of it will cost you 1,000 adena.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-03.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-03.html deleted file mode 100644 index 5b3cb4251a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Xenovia:
-That's what I like! A plain speaker! Now put this powder into the medium jar along with the bones you have. I fear that the results may be other than what you expect... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-04.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-04.html deleted file mode 100644 index db95818d1f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Xenovia:
-You talk the talk but your wallet is weak. Come back when you have more adena. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-05.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-05.html deleted file mode 100644 index 0c781b5262..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Xenovia:
-Whatever. Come back if you change your mind. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-06.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-06.html deleted file mode 100644 index b5a723e6d9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30912-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Magister Xenovia:
-Were the results what you expected? I feel I must warn you, it's not healthy for Humans to spend so much time with the dead. It tends to color your outlook.
-By the way, if you want to get rid of all those useless Bone Fragments you should sell them to Mad Doctor Orpheus. He can be found in the eastern part of the village. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-01.htm b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-01.htm deleted file mode 100644 index 348d0470c0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Locksmith Dorothy:
-Those damn Crokians have devoured all my partners! Not to mention the fact that they have ruined my business!
-Who are you? Do we have any business together? Are you interested in making some easy money?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-02.htm b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-02.htm deleted file mode 100644 index c2afb1fc0f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Locksmith Dorothy:
-I thought you might. I could use some extra adena as well. I think we will make a good team! Here's my plan...
-Through great personal sacrifice I have located the treasure of the Pirate Captain Zaken! My former partners found it on Pirate's Island and were bringing a small part of it back to this village. Just before they arrived, in the field of reeds outside the village, they were slaughtered and devoured by Crokians! I searched the site of the massacre for any remnant of the treasure but found nothing. Either they managed to hide the treasure somewhere, or it rests in the bellies of the damned Crokians!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-03.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-03.html deleted file mode 100644 index fe313ad112..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Locksmith Dorothy:
-Not much, my friend... If I could, I would slice open the bellies of all the damned Crokians I could find! If I didn't locate the treasure, as least I would have my revenge, no?
-In fact, I would really appreciate it if you would go to the Field of Whispers just outside the village and kill Crokians and Crokian warriors. Their corpses should yield the remains of my friends, and possibly more. Bring whatever you find back to me. Meanwhile, I will continue my investigation. If we find the treasure you will be greatly rewarded... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-04.htm b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-04.htm deleted file mode 100644 index 0dfb29b141..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-04.htm +++ /dev/null @@ -1,5 +0,0 @@ -Locksmith Dorothy:
-Those damn Crokians! They have ruined my business! Why does Enverun only buy the pelts of alligators? He should put a price on the skins of Crokians! At least then they would be of some use!
-So, what do you want? Do you need a key or a locksmith? Or maybe you're looking for a knife wielding thug or safecracker?
-(This quest may only be undertaken by a character of level 35 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-05.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-05.html deleted file mode 100644 index 828bada4e2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Locksmith Dorothy:
-Actually, it would be much better if you located all the remains of my friends (skull, back, ribs, arms and legs, etc.) You must kill every single one of those damned Crokians and Crokian warriors in the Field of Whispers. I hope that I didn't over-estimate you abilities...? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-06.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-06.html deleted file mode 100644 index c1de15bfc2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Locksmith Dorothy:
-Ah, yes, I see that you have assembled an entire skeleton. Good work! Those damned Crokians must have stripped them before they ate them, I don't see any remnant of clothing. I can't tell which one of my partners this is...
-I really hate to do this, but...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-07.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-07.html deleted file mode 100644 index b5e64500a8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Locksmith Dorothy:
-The Dark Elves! I hate dealing with them, but there is a woman named Xenovia at their local guild who could be of great assistance to us. She always carries around a strange looking pot. I've heard that she uses it to summon the souls of the dead... If this is true, perhaps she can help us... Take these bones to her. Or, if you have some other method of communicating with the dead, speak up! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-08.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-08.html deleted file mode 100644 index a066b2a253..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Locksmith Dorothy:
-Have you been to the guild of the Dark Elves yet? I cannot deal with them, you must find Magister Xenovia and secure her assistance in contacting the souls of my dead partners! Or maybe you have a better idea? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-09.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-09.html deleted file mode 100644 index 50c8b082f2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Locksmith Dorothy:
-Have you accomplished anything yet? What is that powder? Summons souls of the dead, eh? Splendid! Let's see if it works! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-10.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-10.html deleted file mode 100644 index 53ef9f533f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Locksmith Dorothy:
-What is going on? I thought you would use that powder to summon the souls of my dead friends from the pot! What is this?! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-11.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-11.html deleted file mode 100644 index 9c4f71237e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-11.html +++ /dev/null @@ -1,4 +0,0 @@ -Locksmith Dorothy:
-Is that so? Well, if that is what he said it must be true! That is a long journey there and back, it will take several weeks! Humph! Why did they all die and leave me alone like this... Those damned fools! They were so close to unimaginable wealth, and then to be eaten by Crokians!
-Well, thank you my friend. I will give you your share now, it hardly seems fair to ask you to wait for several weeks...If you use this wisely it will bring you great wealth! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-12.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-12.html deleted file mode 100644 index eb89be80dd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30970-12.html +++ /dev/null @@ -1,6 +0,0 @@ -Locksmith Dorothy:
-Hey, don't try to pull that "little village maiden" crap with me! I worked hard to collect all those bones and if I need to I will go and collect them all again! Oh, wait, I just thought of something...
-Oh! Now I remember... One time Iason Heine's nephew offered a reward for finding a young maiden... His tastes are quite common for an aristocrat! If we play this right we could make a lot of money!
-You mustn't tell anyone about this. Here, take this as compensation. This information came from someone inside the Trade Guild... If you take this to the Blacksmith Guild, they will give you a good amount of money for it.
-Ah, come back if you continue to help your friends collect the ashes. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30971-01.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30971-01.html deleted file mode 100644 index ea934c0e0f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30971-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Mad Doctor Orpheus:
-We are treading on dangerous ground here, my friend! We are entering the realm of gods! Unless you fully appreciate the gravity of our situation you are bound for torment and tragedy! Yes, yes, dangerous ground indeed...
-I have many enemies, not least among them those who envy my drive and ambition. Some of those idiots even accuse me of being a graverobber! Bwa ha ha ha ha!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30971-02.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30971-02.html deleted file mode 100644 index 38153ab649..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30971-02.html +++ /dev/null @@ -1,5 +0,0 @@ -Mad Doctor Orpheus:
-Bones, eh? Could I see them, please?
-Oh, lovely! Although these bones are obviously not all human. I see some Animal Bones mixed in there. But I could definitely use them. Can I have them?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30971-03.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30971-03.html deleted file mode 100644 index 354583db2a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30971-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Mad Doctor Orpheus:
-Oh, that is so kind of you! Thank you so very much! Science thanks you! I dream of the day when I and my colleagues can venture into the realm of Shilen... When that day comes the secrets of the universe will at last be unveiled! Just thinking about it makes my heart race!
-This isn't much, but please accept it as a token of my appreciation. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-01.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-01.html deleted file mode 100644 index b8e8f26150..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Soul Urn:
-This urn is a conduit between the natural world and the world of Shilen. Bones and magical powder mixed together within it will summon souls.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-02.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-02.html deleted file mode 100644 index 4beeee4ca8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-02.html +++ /dev/null @@ -1,5 +0,0 @@ -Soul Urn:
-A voice emanates from the urn:
-"My name is Oliver... Who called me...? I was killed and eaten by Crokians... Why have you called me here?"
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-03.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-03.html deleted file mode 100644 index e620a5f0a9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Soul Urn:
-A voice emanates from the urn:
-"I understand. Yes, Dorothy... I hesitate to give her the treasure I worked so hard for... But what difference does it make? I'm dead... Tell her to put some flowers on my grave... The treasure is in the warehouse. The password is..."
-The urn goes silent... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-04.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-04.html deleted file mode 100644 index 41e841ba2a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Soul Urn:
-A voice emanates from the jar:
-"My name is Clarine... Who called me...? I'm dead! What could you possibly want of me?"
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-05.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-05.html deleted file mode 100644 index 730bad730d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Soul Urn:
-A voice emanates from the urn:
-"I understand... Dorothy was a lazy cow who did nothing but take the fruits of our labor... I'll tell you what she wants to know, but only because it's you... What she seeks is in the warehouse. That's all... Now, remember, be kind to others while you live. We shall meet again when you die."
-The urn falls silent... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-06.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-06.html deleted file mode 100644 index 8f5c1a12ac..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Soul Urn:
-The sound of crying emanates from the urn:
-Sob! Sniff! Waahhhh! Booo hooo!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-07.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-07.html deleted file mode 100644 index b8843ad862..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-07.html +++ /dev/null @@ -1,5 +0,0 @@ -Soul Urn:
-A voice emanates from the jar:
-I have no idea what you're talking about... I was never an adventurer... I don't know anyone named Dorothy... Boo hoo hoo... Wahhhh!
-The jar falls silent... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-08.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-08.html deleted file mode 100644 index d7be1a2827..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-08.html +++ /dev/null @@ -1,5 +0,0 @@ -Soul Urn:
-A voice emanates from the urn:
-"My name is Oliver... Who called me...? I was killed and eaten by Crokians... Why did you call me?"
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-09.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-09.html deleted file mode 100644 index 5a9dda8229..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-09.html +++ /dev/null @@ -1,5 +0,0 @@ -Soul Urn:
-A voice emanates from the urn:
-"My name is Clarine... Who called me...? I'm dead! What could you possibly want of me?"
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-10.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-10.html deleted file mode 100644 index 0e476dd192..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-10.html +++ /dev/null @@ -1,5 +0,0 @@ -Soul Urn:
-The sound of crying emanates from the urn:
-Sob! Waaahhhh! Boo hoooo...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-11.html b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-11.html deleted file mode 100644 index 5c742e8509..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/30973-11.html +++ /dev/null @@ -1,3 +0,0 @@ -Soul Urn:
-The urn is silent. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/Q00345_MethodToRaiseTheDead.java b/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/Q00345_MethodToRaiseTheDead.java deleted file mode 100644 index 3939feadd9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00345_MethodToRaiseTheDead/Q00345_MethodToRaiseTheDead.java +++ /dev/null @@ -1,431 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00345_MethodToRaiseTheDead; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.itemcontainer.Inventory; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.util.Util; - -/** - * Method to Raise the Dead (345) - * @author Adry_85 - */ -public final class Q00345_MethodToRaiseTheDead extends Quest -{ - // NPCs - private static final int XENOVIA = 30912; - private static final int DOROTHY = 30970; - private static final int ORPHEUS = 30971; - private static final int MEDIUM_JAR = 30973; - // Items - private static final int IMPERIAL_DIAMOND = 3456; - private static final int VICTIMS_ARM_BONE = 4274; - private static final int VICTIMS_THIGH_BONE = 4275; - private static final int VICTIMS_SKULL = 4276; - private static final int VICTIMS_RIB_BONE = 4277; - private static final int VICTIMS_SPINE = 4278; - private static final int USELESS_BONE_PIECES = 4280; - private static final int POWDER_TO_SUMMON_DEAD_SOULS = 4281; - private static final int BILL_OF_IASON_HEINE = 4407; - // Misc - private static final int MIN_LEVEL = 35; - // Monsters - private static final int CROKIAN = 20789; - private static final int CROKIAN_WARRIOR = 20791; - - public Q00345_MethodToRaiseTheDead() - { - super(345, Q00345_MethodToRaiseTheDead.class.getSimpleName(), "Method to Raise the Dead"); - addStartNpc(DOROTHY); - addTalkId(DOROTHY, ORPHEUS, MEDIUM_JAR, XENOVIA); - addKillId(CROKIAN, CROKIAN_WARRIOR); - registerQuestItems(VICTIMS_ARM_BONE, VICTIMS_THIGH_BONE, VICTIMS_SKULL, VICTIMS_RIB_BONE, VICTIMS_SPINE, USELESS_BONE_PIECES, POWDER_TO_SUMMON_DEAD_SOULS); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30970-02.htm": - { - qs.startQuest(); - htmltext = event; - break; - } - case "30970-03.html": - { - qs.setMemoState(1); - htmltext = event; - break; - } - case "30970-07.html": - { - if (hasQuestItems(player, VICTIMS_ARM_BONE, VICTIMS_THIGH_BONE, VICTIMS_SKULL, VICTIMS_RIB_BONE, VICTIMS_SPINE)) - { - qs.setMemoState(2); - qs.setCond(2, true); - htmltext = event; - } - break; - } - case "30971-02.html": - case "30912-05.html": - { - htmltext = event; - break; - } - case "30971-03.html": - { - final long uselessBonePiecesCount = getQuestItemsCount(player, USELESS_BONE_PIECES); - - if (uselessBonePiecesCount > 0) - { - giveAdena(player, uselessBonePiecesCount * 104, true); - takeItems(player, USELESS_BONE_PIECES, -1); - htmltext = event; - } - break; - } - case "30973-02.html": - { - final int memoStateEx = qs.getMemoStateEx(1); - - if (memoStateEx == 1) - { - htmltext = event; - } - else if (memoStateEx == 2) - { - htmltext = "30973-04.html"; - } - else if (memoStateEx == 3) - { - htmltext = "30973-06.html"; - } - break; - } - case "30973-03.html": - { - if (qs.isMemoState(7) && (qs.getMemoStateEx(1) == 1)) - { - qs.setMemoState(8); - qs.setCond(6, true); - htmltext = event; - } - break; - } - case "30973-05.html": - { - if (qs.isMemoState(7) && (qs.getMemoStateEx(1) == 2)) - { - qs.setMemoState(8); - qs.setCond(6, true); - htmltext = event; - } - break; - } - case "30973-07.html": - { - if (qs.isMemoState(7) && (qs.getMemoStateEx(1) == 3)) - { - qs.setMemoState(8); - qs.setCond(7, true); - htmltext = event; - } - break; - } - case "30912-02.html": - { - if (qs.isMemoState(2)) - { - htmltext = event; - } - break; - } - case "30912-03.html": - { - if (qs.isMemoState(2)) - { - if (player.getAdena() >= 1000) - { - giveItems(player, POWDER_TO_SUMMON_DEAD_SOULS, 1); - takeItems(player, Inventory.ADENA_ID, 1000); - qs.setMemoState(3); - qs.setCond(3, true); - htmltext = event; - } - else - { - htmltext = "30912-04.html"; - } - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(killer, 1, 3, npc); - - if ((qs == null) || !Util.checkIfInRange(1500, npc, killer, true)) - { - return null; - } - - final int random = getRandom(100); - if (random <= 5) - { - if (!hasQuestItems(qs.getPlayer(), VICTIMS_ARM_BONE)) - { - giveItems(qs.getPlayer(), VICTIMS_ARM_BONE, 1); - } - else - { - giveItems(qs.getPlayer(), USELESS_BONE_PIECES, 1); - } - - playSound(qs.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else if (random <= 11) - { - if (!hasQuestItems(qs.getPlayer(), VICTIMS_THIGH_BONE)) - { - giveItems(qs.getPlayer(), VICTIMS_THIGH_BONE, 1); - } - else - { - giveItems(qs.getPlayer(), USELESS_BONE_PIECES, 1); - } - - playSound(qs.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else if (random <= 17) - { - if (!hasQuestItems(qs.getPlayer(), VICTIMS_SKULL)) - { - giveItems(qs.getPlayer(), VICTIMS_SKULL, 1); - } - else - { - giveItems(qs.getPlayer(), USELESS_BONE_PIECES, 1); - } - - playSound(qs.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else if (random <= 23) - { - if (!hasQuestItems(qs.getPlayer(), VICTIMS_RIB_BONE)) - { - giveItems(qs.getPlayer(), VICTIMS_RIB_BONE, 1); - } - else - { - giveItems(qs.getPlayer(), USELESS_BONE_PIECES, 1); - } - - playSound(qs.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else if (random <= 29) - { - if (!hasQuestItems(qs.getPlayer(), VICTIMS_SPINE)) - { - giveItems(qs.getPlayer(), VICTIMS_SPINE, 1); - } - else - { - giveItems(qs.getPlayer(), USELESS_BONE_PIECES, 1); - } - - playSound(qs.getPlayer(), QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else if (random <= 60) - { - giveItems(qs.getPlayer(), USELESS_BONE_PIECES, 1); - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs.isCreated()) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30970-01.htm" : "30970-04.htm"; - } - else if (qs.isStarted()) - { - switch (npc.getId()) - { - case DOROTHY: - { - switch (qs.getMemoState()) - { - case 0: - { - htmltext = "30970-03.html"; - qs.setMemoState(1); - break; - } - case 1: - { - htmltext = (!hasQuestItems(player, VICTIMS_ARM_BONE, VICTIMS_THIGH_BONE, VICTIMS_SKULL, VICTIMS_RIB_BONE, VICTIMS_SPINE)) ? "30970-05.html" : "30970-06.html"; - break; - } - case 2: - { - htmltext = "30970-08.html"; - break; - } - case 3: - { - htmltext = "30970-09.html"; - break; - } - case 7: - { - htmltext = "30970-10.html"; - break; - } - case 8: - { - final int memoStateEx = qs.getMemoStateEx(1); - final long uselessBonePiecesCount = getQuestItemsCount(player, USELESS_BONE_PIECES); - - if ((memoStateEx == 1) || (memoStateEx == 2)) - { - giveItems(player, BILL_OF_IASON_HEINE, 3); - giveAdena(player, 5390 + (70 * uselessBonePiecesCount), true); - htmltext = "30970-11.html"; - } - else if (memoStateEx == 3) - { - if (getRandom(100) <= 92) - { - giveItems(player, BILL_OF_IASON_HEINE, 5); - } - else - { - giveItems(player, IMPERIAL_DIAMOND, 1); - } - - giveAdena(player, 3040 + (70 * uselessBonePiecesCount), true); - htmltext = "30970-12.html"; - } - - qs.exitQuest(true, true); - break; - } - } - break; - } - case ORPHEUS: - { - if (hasQuestItems(player, USELESS_BONE_PIECES)) - { - htmltext = "30971-01.html"; - } - break; - } - case MEDIUM_JAR: - { - switch (qs.getMemoState()) - { - case 3: - { - takeItems(player, -1, POWDER_TO_SUMMON_DEAD_SOULS, VICTIMS_ARM_BONE, VICTIMS_THIGH_BONE, VICTIMS_SKULL, VICTIMS_RIB_BONE, VICTIMS_SPINE); - qs.setMemoState(7); - - final int random = getRandom(100); - - if (random <= 39) - { - qs.setMemoStateEx(1, 1); - } - else if (random <= 79) - { - qs.setMemoStateEx(1, 2); - } - else - { - qs.setMemoStateEx(1, 3); - } - - htmltext = "30973-01.html"; - break; - } - case 7: - { - final int memoStateEx = qs.getMemoStateEx(1); - - if (memoStateEx == 1) - { - htmltext = "30973-08.html"; - } - else if (memoStateEx == 2) - { - htmltext = "30973-09.html"; - } - else if (memoStateEx == 3) - { - htmltext = "30973-10.html"; - } - break; - } - case 8: - { - htmltext = "30973-11.html"; - break; - } - } - break; - } - case XENOVIA: - { - if (qs.isMemoState(2)) - { - htmltext = "30912-01.html"; - } - else if (qs.isMemoState(7) || qs.isMemoState(8) || hasQuestItems(player, POWDER_TO_SUMMON_DEAD_SOULS)) - { - htmltext = "30912-06.html"; - } - break; - } - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30897-01.html b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30897-01.html deleted file mode 100644 index 0f68996824..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30897-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Head Blacksmith Roman:
-Hmm... This is definitely the signature of Iason Heine. What would you like to trade for it?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30897-02.html b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30897-02.html deleted file mode 100644 index 8bad80547e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30897-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Head Blacksmith Roman:
-Are you helping Iason Heine defeat the Tasaba lizardmen? Bring me the bills he gives you, I will exchange them for useful items. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-01.htm b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-01.htm deleted file mode 100644 index 63a3316c21..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Gosta:
-Don't you realize that the Heine family is the most prominent family in all of Heine? For years they have dominated Innadril's commerce and it is rumored that their personal fortune has swelled to several billion Adena. Now word comes that cargo belonging to Iason Heine, the patriarch of the Heine family has been stolen... When he heard about the robbery, the Lord decided to use this incident as an excuse to mobilize his army to drive away the Tasaba lizardmen. Those filthy reptiles have threatened the safety of travelers for too long...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-02.htm b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-02.htm deleted file mode 100644 index f223d490eb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Captain Gosta:
-Duke Iason Heine refused the Lord's offer, saying that it was a private matter and he would deal with it. This would be a good time to compliment the Duke on his concern for the public treasury, but, alas, I know him too well.
-Anyway, I'm recruiting volunteers to drive away the Tasaba lizardmen for the Duke. He will personally give out the rewards when we are successful. If you wish to volunteer, speak up now!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-03.htm b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-03.htm deleted file mode 100644 index deaaf13e55..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Captain Gosta:
-Regardless of his character, Duke Iason Heine has a point. The Tasaba lizardmen are definitely a menace to Innadril. It would be one thing if all they did was attack travelers, but now it is said they have something far more sinister planned... Take this order. I wish you luck. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-04.html b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-04.html deleted file mode 100644 index 605e8e8c0b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Captain Gosta:
-Don't you realize that the Heine family is the most prominent family in all of Heine? For years they have dominated Innadril's commerce and it is rumored that their personal fortune has swelled to several billion Adena. Now word comes that cargo belonging to Iason Heine, the patriarch of the Heine family has been stolen... Why am I telling you this. You can't do anything about it...
-(This quest can only be undertaken by a character of level 32 or higher.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-05.html b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-05.html deleted file mode 100644 index 077abbf466..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30916-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Captain Gosta:
-How is your mission coming along? He may have many faults, but one thing you can say about Duke Iason Heine, he is not a miser. You will be well-compensated for your efforts. Still, you mustn't believe everything he says... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-01.html b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-01.html deleted file mode 100644 index 3d7e38ff80..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Iason Heine:
-Oh, my! I should have noticed the captain's seal earlier! So you are here to help me.... What has become of those filthy Tasaba lizardmen? Have you recovered any of the stolen cargo?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-02.html b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-02.html deleted file mode 100644 index 7a923e8aad..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Iason Heine:
-Unless you present proof that you have killed the lizardmen I will be unable to compensate you. This has nothing to with trust. I believe what you say, I just must have the fangs. I have turned away others who lacked proof. If I were to give you special treatment there would be reprisals against me. Do you understand? Go and get the lizardmen fangs.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-03.html b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-03.html deleted file mode 100644 index c44138bde7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-03.html +++ /dev/null @@ -1,6 +0,0 @@ -Iason Heine:
-Is there anything else I can do for you? The ranks of the Tasaba lizardmen are swelling as we speak. They must be dealt with. Please don't quit now.
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-04.html b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-04.html deleted file mode 100644 index cb694c70fa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Iason Heine:
-Let's see... We agreed upon 20 adena per fang, correct? Then the total is... this. Correct?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-05.html b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-05.html deleted file mode 100644 index 868f42c3f4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Iason Heine:
-Ah, you have recovered our trade guild's wooden barrel? That is wonderful news! Where is it? Is it in a warehouse? Please bring it to me right away! ... I hope you didn't try to open it! Or send it somewhere else? Ha! Just kidding.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-06.html b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-06.html deleted file mode 100644 index 9286243ca1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Iason Heine:
-Oh yes, that is definitely the cargo that was stolen from our trade guild. But this is not all of it. There is still much to be recovered. Please continue to look for it.
-Ah, the reward. I only have a small amount of cash on me. I'll tell you what, take this bill to Head Blacksmith Roman of the Blacksmith Guild. He will take care of you.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-07.html b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-07.html deleted file mode 100644 index 079dafd10c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-07.html +++ /dev/null @@ -1,6 +0,0 @@ -Iason Heine:
-How can you leave us like this? Most of our stolen cargo has yet to be recovered... and, even more importantly, the Tasaba lizardmen are increasingly threatening our precious Innadril!
-... Do you know something I don't? Please reconsider your decision!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-08.html b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-08.html deleted file mode 100644 index 83bf8ad388..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-08.html +++ /dev/null @@ -1,4 +0,0 @@ -Iason Heine:
-OK, look, you can quit any time you want to, but you still need to be paid, right? Let's take care of that and then talk about whether or not you'll quit...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-09.html b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-09.html deleted file mode 100644 index e3e6bc4d30..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/30969-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Iason Heine:
-You are very hard-headed! Well, as I said, you are free to go. Have a safe trip... and don't forget to come and visit me occasionally. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/Q00351_BlackSwan.java b/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/Q00351_BlackSwan.java deleted file mode 100644 index dc43a40a1f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00351_BlackSwan/Q00351_BlackSwan.java +++ /dev/null @@ -1,224 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00351_BlackSwan; - -import java.util.HashMap; -import java.util.Map; - -import quests.Q00345_MethodToRaiseTheDead.Q00345_MethodToRaiseTheDead; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.util.Util; - -/** - * Black Swan (351) - * @author Adry_85 - */ -public final class Q00351_BlackSwan extends Quest -{ - // NPCs - private static final int ROMAN = 30897; - private static final int GOSTA = 30916; - private static final int IASON_HEINE = 30969; - // Items - private static final int ORDER_OF_GOSTA = 4296; - private static final int LIZARD_FANG = 4297; - private static final int BARREL_OF_LEAGUE = 4298; - private static final int BILL_OF_IASON_HEINE = 4407; - // Misc - private static final int MIN_LEVEL = 32; - // Monsters - private static final int TASABA_LIZARDMAN1 = 20784; - private static final int TASABA_LIZARDMAN_SHAMAN1 = 20785; - private static final int TASABA_LIZARDMAN2 = 21639; - private static final int TASABA_LIZARDMAN_SHAMAN2 = 21640; - private static final Map MONSTER_DROP_CHANCES = new HashMap<>(); - static - { - MONSTER_DROP_CHANCES.put(TASABA_LIZARDMAN1, 4); - MONSTER_DROP_CHANCES.put(TASABA_LIZARDMAN_SHAMAN1, 3); - MONSTER_DROP_CHANCES.put(TASABA_LIZARDMAN2, 4); - MONSTER_DROP_CHANCES.put(TASABA_LIZARDMAN_SHAMAN2, 3); - } - - public Q00351_BlackSwan() - { - super(351, Q00351_BlackSwan.class.getSimpleName(), "Black Swan"); - addStartNpc(GOSTA, ROMAN); - addTalkId(GOSTA, IASON_HEINE, ROMAN); - addKillId(TASABA_LIZARDMAN1, TASABA_LIZARDMAN_SHAMAN1, TASABA_LIZARDMAN2, TASABA_LIZARDMAN_SHAMAN2); - registerQuestItems(ORDER_OF_GOSTA, LIZARD_FANG, BARREL_OF_LEAGUE); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30916-02.htm": - case "30969-03.html": - { - htmltext = event; - break; - } - case "30916-03.htm": - { - giveItems(player, ORDER_OF_GOSTA, 1); - qs.startQuest(); - htmltext = event; - break; - } - case "30969-02.html": - { - final long lizardFangCount = getQuestItemsCount(player, LIZARD_FANG); - - if (lizardFangCount == 0) - { - htmltext = event; - } - else - { - final long adenaBonus = (lizardFangCount >= 10) ? 3880 : 0; - giveAdena(player, adenaBonus + (20 * lizardFangCount), true); - takeItems(player, LIZARD_FANG, -1); - htmltext = "30969-04.html"; - } - break; - } - case "30969-05.html": - { - final long barrelOfLeagueCount = getQuestItemsCount(player, BARREL_OF_LEAGUE); - - if (barrelOfLeagueCount == 0) - { - htmltext = event; - } - else - { - giveItems(player, BILL_OF_IASON_HEINE, barrelOfLeagueCount); - giveAdena(player, 3880, true); - takeItems(player, BARREL_OF_LEAGUE, -1); - qs.setCond(2); - htmltext = "30969-06.html"; - } - break; - } - case "30969-07.html": - { - htmltext = (!hasQuestItems(player, BARREL_OF_LEAGUE, LIZARD_FANG)) ? event : "30969-08.html"; - break; - } - case "30969-09.html": - { - htmltext = event; - qs.exitQuest(true, true); - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc); - - if ((qs == null) || !Util.checkIfInRange(1500, npc, killer, true)) - { - return null; - } - - final int random = getRandom(20); - if (random < 10) - { - giveItemRandomly(qs.getPlayer(), npc, LIZARD_FANG, 1, 0, 1.0, true); - - if (getRandom(20) == 0) - { - giveItemRandomly(qs.getPlayer(), npc, BARREL_OF_LEAGUE, 1, 0, 1.0, false); - } - } - else if (random < 15) - { - giveItemRandomly(qs.getPlayer(), npc, LIZARD_FANG, 2, 0, 1.0, true); - - if (getRandom(20) == 0) - { - giveItemRandomly(qs.getPlayer(), npc, BARREL_OF_LEAGUE, 1, 0, 1.0, false); - } - } - else if (getRandom(100) < MONSTER_DROP_CHANCES.get(npc.getId())) - { - giveItemRandomly(qs.getPlayer(), npc, BARREL_OF_LEAGUE, 1, 0, 1.0, true); - } - - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - QuestState qs = getQuestState(player, true); - QuestState qs2 = player.getQuestState(Q00345_MethodToRaiseTheDead.class.getSimpleName()); - String htmltext = getNoQuestMsg(player); - - switch (npc.getId()) - { - case GOSTA: - { - if (qs.isCreated()) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30916-01.htm" : "30916-04.html"; - } - else if (qs.isStarted()) - { - htmltext = "30916-05.html"; - } - break; - } - case IASON_HEINE: - { - if (qs.isStarted()) - { - htmltext = "30969-01.html"; - } - break; - } - case ROMAN: - { - if (qs.isStarted() || ((qs2 != null) && qs2.isStarted())) - { - htmltext = (hasQuestItems(player, BILL_OF_IASON_HEINE)) ? "30897-01.html" : "30897-02.html"; - } - break; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-01.htm b/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-01.htm deleted file mode 100644 index 13b2372b01..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Pet Manager Rood:
-Have you seen the Lienrik near Heine? Oh, they're so beautiful... I must have one!
-Just imagine it. They fly, so they don't get dirty...and those marvelous colors! And their skin feels cool and moist, like a delicious mug of ale on a hot summer day.
-Warm and furry pets are passé these days. A Lienrik is much more unique.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-02.htm b/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-02.htm deleted file mode 100644 index b1c843c822..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Pet Manager Rood:
-Its beauty is only the beginning! It's so light you can wrap it around your arm or let it sit on your shoulder! Its combat capability is quite extraordinary!
-It can fly high in the sky and launch a remote attack! This makes it the best possible pet for the upper class! Alas, there is one flaw.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-03.htm b/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-03.htm deleted file mode 100644 index 04e8f6bf25..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Pet Manager Rood:
-Lienriks are quite headstrong and hard to tame.
The training must begin while it's still a baby. However, stealing one of its eggs is almost impossible. The mother of the species puts up a desperate fight, and even if you succeed in catching one, there's no guarantee that you can train it. It's not profitable at all for now. Not at all!
-If I could get one of its eggs, at least I could try my best to train it. Wouldn't the ladies in town be impressed if I showed up with a tamed lienrik?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-04.htm b/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-04.htm deleted file mode 100644 index d667de75ce..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-04.htm +++ /dev/null @@ -1,7 +0,0 @@ -Pet Manager Rood:
-You'll really do it? I knew today was a good day. I'll tell you about the Lienrik.
-The Lienrik dwells near the Rest Area of the Animals. There's the Lienrik and the Lienrik Lad. One has a range attack and one spews poison up close.
-Both have the Lienrik Egg. That's where the fun begins: The egg determines gender, with the females being the most valuable.
-I can't pay money for one, but I'll definitely offer a reward. Bring back as many as you can.
-I might even let you keep one~ - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-05.html b/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-05.html deleted file mode 100644 index ebde9c8655..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Pet Manager Rood:
-Have you ever seen an animal called a Lienrik? Oh, they're so beautiful... I must have one!
-What, you don't know what I'm talking about? Hmpph!
-(Only characters who are level 39 or higher may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-06.html b/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-06.html deleted file mode 100644 index 6551e05a68..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Pet Manager Rood:
-Are you still here? Go to the Rest Area of the Animals and bring back a Lienrik Egg or a Lienrik Lad Egg. I'll make it worth your while, I promise you that. Or are you just going to give up?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-07.html b/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-07.html deleted file mode 100644 index 309972bf0a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-07.html +++ /dev/null @@ -1,6 +0,0 @@ -Pet Manager Rood:
-Ready to do this? Today is a lucky day for both of us! Let me repeat what I told you earlier about Lienrik.
Both Lienrik and Lienrik Lads can be found in the Rest Area of the Animals. Approach both carefully, as once can spew poison from a great distance.
-Both kinds lay eggs, but finding a female Lienrik is very rare.
-Well, if you can do this for me, I'll make it worth your while -- I promise!
-Even bringing back one would make my day! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-08.html b/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-08.html deleted file mode 100644 index 42073c83e0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Pet Manager Rood:
-Hmm... a quitter, eh? Go ahead... I can't stop you. I'll do my best with what I have now... But if you change your mind, please stop by. I can always use more eggs. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-09.html b/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-09.html deleted file mode 100644 index b6734afe17..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-09.html +++ /dev/null @@ -1,6 +0,0 @@ -Pet Manager Rood:
-Oh my! These are Lienrik Eggs! I tried so hard to get one, and now you've done it so easily! It's wonderful to finally have them! Here is the reward I promised!
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-10.html b/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-10.html deleted file mode 100644 index f2e9188d36..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-10.html +++ /dev/null @@ -1,6 +0,0 @@ -Pet Manager Rood:
-Hmm, certainly not until I successfully raise it! This is no docile duck we're talking about here...
-Let me work on it. Just keep bringing me more eggs. I suspect it will take many tries to get it right.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-11.html b/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-11.html deleted file mode 100644 index f22c204ccd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/31067-11.html +++ /dev/null @@ -1,6 +0,0 @@ -Pet Manager Rood:
-Oh my! These are Lienrik Eggs! And what's this? Is this a female Lienrik Egg? Such a rarity... You are incredible! I will hatch this and mate her with a male. What a great job! Thank you so very much! Now I must concentrate on raising a lienrik. Here is your reward!
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/Q00352_HelpRoodRaiseANewPet.java b/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/Q00352_HelpRoodRaiseANewPet.java deleted file mode 100644 index fc0c696b13..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00352_HelpRoodRaiseANewPet/Q00352_HelpRoodRaiseANewPet.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00352_HelpRoodRaiseANewPet; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.util.Util; - -/** - * Help Rood Raise A New Pet! (352) - * @author Adry_85 - */ -public final class Q00352_HelpRoodRaiseANewPet extends Quest -{ - private static final class DropInfo - { - public final int _firstChance; - public final int _secondChance; - - public DropInfo(int firstChance, int secondChance) - { - _firstChance = firstChance; - _secondChance = secondChance; - } - - public int getFirstChance() - { - return _firstChance; - } - - public int getSecondChance() - { - return _secondChance; - } - } - - // NPC - private static final int ROOD = 31067; - // Items - private static final int LIENRIK_EGG1 = 5860; - private static final int LIENRIK_EGG2 = 5861; - // Misc - private static final int MIN_LEVEL = 39; - - private static final Map MOBS = new HashMap<>(); - static - { - MOBS.put(20786, new DropInfo(46, 48)); // lienrik - MOBS.put(21644, new DropInfo(46, 48)); // lienrik_a - MOBS.put(21645, new DropInfo(69, 71)); // lienrik_lad_a - } - - public Q00352_HelpRoodRaiseANewPet() - { - super(352, Q00352_HelpRoodRaiseANewPet.class.getSimpleName(), "Help Rood Raise A New Pet!"); - addStartNpc(ROOD); - addTalkId(ROOD); - addKillId(MOBS.keySet()); - registerQuestItems(LIENRIK_EGG1, LIENRIK_EGG2); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "31067-02.htm": - case "31067-03.htm": - case "31067-07.html": - case "31067-10.html": - { - htmltext = event; - break; - } - case "31067-04.htm": - { - qs.setMemoState(1); - qs.startQuest(); - htmltext = event; - break; - } - case "31067-08.html": - { - qs.exitQuest(true, true); - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getQuestState(killer, false); - - if ((qs == null) || !Util.checkIfInRange(1500, npc, killer, true)) - { - return null; - } - - final DropInfo info = MOBS.get(npc.getId()); - final int random = getRandom(100); - - if (random < info.getFirstChance()) - { - qs.giveItemRandomly(npc, LIENRIK_EGG1, 1, 0, 1.0, true); - } - else if (random < info.getSecondChance()) - { - qs.giveItemRandomly(npc, LIENRIK_EGG2, 1, 0, 1.0, true); - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs.isCreated()) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "31067-01.htm" : "31067-05.html"; - } - else if (qs.isStarted()) - { - final long LienrikEgg1Count = getQuestItemsCount(player, LIENRIK_EGG1); - final long LienrikEgg2Count = getQuestItemsCount(player, LIENRIK_EGG2); - - if ((LienrikEgg1Count == 0) && (LienrikEgg2Count == 0)) - { - htmltext = "31067-06.html"; - } - else if ((LienrikEgg1Count >= 1) && (LienrikEgg2Count == 0)) - { - if (LienrikEgg1Count >= 10) - { - giveAdena(player, (LienrikEgg1Count * 34) + 4000, true); - } - else - { - giveAdena(player, (LienrikEgg1Count * 34) + 2000, true); - } - - takeItems(player, LIENRIK_EGG1, -1); - htmltext = "31067-10.html"; - } - else if (LienrikEgg1Count >= 1) - { - giveAdena(player, 4000 + ((LienrikEgg1Count * 34) + (LienrikEgg2Count * 1025)), true); - takeItems(player, LIENRIK_EGG1, -1); - takeItems(player, LIENRIK_EGG2, -1); - htmltext = "31067-11.html"; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-01.htm b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-01.htm deleted file mode 100644 index 5ea0b3f3f5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-01.htm +++ /dev/null @@ -1,7 +0,0 @@ -Warehouse Freightman Kluck:
-Whew! There's no way I can keep up this pace! Hello, friend! Am I glad to see you!
-For as long as anyone can remember, Dwarves have been traders, am I right? And now come the Humans, with their friends in high places, taking over the trade routes in Innadril, Abella, and Giran! Who do they think they are?
-Boycott the Humans! We're establishing a free trade zone near Alligator Island! The only problem is, that place is crawling with horrible monsters.
-Would you help us get rid of them? If you'd like, we can draw up a Contract right now!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-02.html b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-02.html deleted file mode 100644 index c131ac2635..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-02.html +++ /dev/null @@ -1,5 +0,0 @@ -Warehouse Freightman Kluck:
-Well, then, here you go! Sign on the dotted line... Now, I'll read the Contract to you.
-Adventurer agrees to go to Alligator Island and kill the Crokian lads, dailaon lads, Crokian lad warriors, farhite lads, nos lads, and the Swamp Tribe and bring back their teeth as proof.And Kluck, that's me, will count the number of teeth brought back and reward said adventurer accordingly.Third, if said adventurer brings back 100 or more teeth at a time, he or she will receive an additional bonus.Fourth, while carrying out the task specified in the Contract on Alligator Island, if the adventurer finds items other than the teeth of monsters, the adventurer will own those items free and clear.
-Do these terms meet with your approval? Then, the Contract is formally established between us! Alligator Island is to the north, across the sea from here. This work will be hard for you to carry out by yourself. You'd better find other adventurers to go with you. If you wish, I will establish a Contract with them as well. Sorry, there's no bridge... You look rather strapping... Couldn't you swim there? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-03.html b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-03.html deleted file mode 100644 index b45680604d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Warehouse Freightman Kluck:
-I'm going crazy here! So many things to do... And nothing seems to be going right... What is the guild thinking, giving me such an assignment? What could they possibly expect me to do? Sometimes I wonder why I stay in this stupid guild!
-How long have you been standing there? I was just talking to myself. You're an adventurer, am I right? I don't have any work to give you right now. Come back later.
-(This quest may only be undertaken by a character of level 38 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-04.html b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-04.html deleted file mode 100644 index 7f3b1576e4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-04.html +++ /dev/null @@ -1,7 +0,0 @@ -Warehouse Freightman Kluck:
-Good to see you again, my friend... Have you brought teeth? Or perhaps you have a question...?
- - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-05.html b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-05.html deleted file mode 100644 index 110c90ac3b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-05.html +++ /dev/null @@ -1,6 +0,0 @@ -Warehouse Freightman Kluck:
-OK, one more time...

-Adventurer agrees to go to Alligator Island and kill the Crokian lads, dailaon lads, Crokian lad warriors, farhite lads, nos lads, and the Swamp Tribe and bring back their teeth as proof.And Kluck, that's me, will count the number of teeth brought back and reward said adventurer accordingly.Third, if said adventurer brings back 100 or more teeth at a time, he or she will receive an additional bonus.Fourth, while carrying out the task specified in the Contract on Alligator Island, if the adventurer finds items other than the teeth of monsters, the adventurer will own those items free and clear.
-Alligator Island is to the north, across the sea from here. Swim there! You look like you could use the exercise!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-06.html b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-06.html deleted file mode 100644 index 6380a0b50b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-06.html +++ /dev/null @@ -1,6 +0,0 @@ -Warehouse Freightman Kluck:
-Hey, impressive! You've brought over 100! Here is your reward! And, per the Contract, your bonus as well!
-I appreciate your hard work! Hopefully soon our dream of a free trade zone without tax will be realized. Keep up the good work!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-07.html b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-07.html deleted file mode 100644 index 2d5eae7a83..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-07.html +++ /dev/null @@ -1,5 +0,0 @@ -Warehouse Freightman Kluck:
-Let's see, teeth are worth... Here you go! Thank you for your hard work! Hopefully soon the island will be completely free of monsters and our dream of a free trade zone without tax can be realized! Keep up the good work!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-08.html b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-08.html deleted file mode 100644 index 3c85d5d72b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Freightman Kluck:
-Are you kidding? You expect something for nothing? Not around here, my friend! Go to Alligator Island immediately and bring me back some teeth! Do I need to read the Contract to you again? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-09.html b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-09.html deleted file mode 100644 index 0429bf8b3a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Freightman Kluck:
-That's a good adventurer... Heh heh... This free trade zone will benefit us all! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-10.html b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-10.html deleted file mode 100644 index e25d530c49..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Freightman Kluck:
-What a pity... You won't be easy to replace... I appreciate your contribution to our cause... When the free trade zone on Alligator Island becomes a reality and I have opened my own shop, you must visit me there. May the prosperity of Maphr be with you always... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-11.html b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-11.html deleted file mode 100644 index 2f1301ac2c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-11.html +++ /dev/null @@ -1,8 +0,0 @@ -Warehouse Freightman Kluck:
-Ah, you again... Have you brought me teeth? Or is it another question? What's that, a piece of paper?
- - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-12.html b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-12.html deleted file mode 100644 index 41dc7694e1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-12.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Freightman Kluck:
-Hmm... A piece of Map, eh? I bet if we collected about 10 pieces just like it, we'd have a complete Map!
-Come to think of it, there is a rumor that part of the legendary treasure of Zaken the pirate is buried on Alligator Island. Zaken's boatswain's lover stole it and hid it there... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-13.html b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-13.html deleted file mode 100644 index b590639dd8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/30895-13.html +++ /dev/null @@ -1,5 +0,0 @@ -Warehouse Freightman Kluck:
-Ah, yes, these pieces definitely go together... Just like doing a puzzle! What have we here? This mark must show where the treasure is hidden!
-This must surely be the Map to the legendary treasure of Zaken the pirate!
-Hmm, I suppose, according to the terms of the Contract, that the Map rightfully belongs to you. Go and see Trader Espen in the weapons shop. He is an expert on Zaken. All pirates, actually... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/Q00354_ConquestOfAlligatorIsland.java b/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/Q00354_ConquestOfAlligatorIsland.java deleted file mode 100644 index e48870f56c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/Q00354_ConquestOfAlligatorIsland.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00354_ConquestOfAlligatorIsland; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Conquest of Alligator Island (354) - * @author Adry_85 - */ -public final class Q00354_ConquestOfAlligatorIsland extends Quest -{ - // NPC - private static final int KLUCK = 30895; - // Items - private static final int ALLIGATOR_TOOTH = 5863; - private static final int MYSTERIOUS_MAP_PIECE = 5864; - private static final int PIRATES_TREASURE_MAP = 5915; - // Misc - private static final int MIN_LEVEL = 38; - // Mobs - private static final Map MOB1 = new HashMap<>(); - private static final Map MOB2 = new HashMap<>(); - static - { - MOB1.put(20804, 0.84); // crokian_lad - MOB1.put(20805, 0.91); // dailaon_lad - MOB1.put(20806, 0.88); // crokian_lad_warrior - MOB1.put(20807, 0.92); // farhite_lad - MOB2.put(22208, 14); // nos_lad - MOB2.put(20991, 69); // tribe_of_swamp - } - - public Q00354_ConquestOfAlligatorIsland() - { - super(354, Q00354_ConquestOfAlligatorIsland.class.getSimpleName(), "Conquest of Alligator Island"); - addStartNpc(KLUCK); - addTalkId(KLUCK); - addKillId(MOB1.keySet()); - addKillId(MOB2.keySet()); - registerQuestItems(ALLIGATOR_TOOTH, MYSTERIOUS_MAP_PIECE); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30895-04.html": - case "30895-05.html": - case "30895-09.html": - { - htmltext = event; - break; - } - case "30895-02.html": - { - st.startQuest(); - htmltext = event; - break; - } - case "ADENA": - { - final long count = st.getQuestItemsCount(ALLIGATOR_TOOTH); - if (count >= 100) - { - st.giveAdena((count * 220) + 10700, true); - st.takeItems(ALLIGATOR_TOOTH, -1); - htmltext = "30895-06.html"; - } - else if (count > 0) - { - st.giveAdena((count * 220) + 3100, true); - st.takeItems(ALLIGATOR_TOOTH, -1); - htmltext = "30895-07.html"; - } - else - { - htmltext = "30895-08.html"; - } - break; - } - case "30895-10.html": - { - st.exitQuest(true, true); - htmltext = event; - break; - } - case "REWARD": - { - final long count = st.getQuestItemsCount(MYSTERIOUS_MAP_PIECE); - if (count >= 10) - { - st.giveItems(PIRATES_TREASURE_MAP, 1); - st.takeItems(MYSTERIOUS_MAP_PIECE, 10); - htmltext = "30895-13.html"; - } - else if (count > 0) - { - htmltext = "30895-12.html"; - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState st = getRandomPartyMemberState(player, -1, 3, npc); - if (st != null) - { - int npcId = npc.getId(); - if (MOB1.containsKey(npcId)) - { - st.giveItemRandomly(npc, ALLIGATOR_TOOTH, 1, 0, MOB1.get(npcId), true); - } - else - { - final int itemCount = ((getRandom(100) < MOB2.get(npcId)) ? 2 : 1); - st.giveItemRandomly(npc, ALLIGATOR_TOOTH, itemCount, 0, 1.0, true); - } - - st.giveItemRandomly(npc, MYSTERIOUS_MAP_PIECE, 1, 0, 0.1, false); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - - if (st.isCreated()) - { - htmltext = ((player.getLevel() >= MIN_LEVEL) ? "30895-01.htm" : "30895-03.html"); - } - else if (st.isStarted()) - { - htmltext = (st.hasQuestItems(MYSTERIOUS_MAP_PIECE) ? "30895-11.html" : "30895-04.html"); - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-01.htm b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-01.htm deleted file mode 100644 index 0591a815f8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Trader Galibredo:
-Although now I'm merely a merchant, at one time my family was prominent! Although I may not look it, the blood of kings courses through my veins!
-Whenever I say this, people laugh at me and think I'm lying. It's so very frustrating! But at last, now I have a chance to prove my noble heritage! All I need is a bit of help from an adventurer like yourself! I will pay you generously for your work! No cost is too great when the honor of my family is at stake! Will you help this old man?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-02.htm b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-02.htm deleted file mode 100644 index 779b0a9448..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-02.htm +++ /dev/null @@ -1,7 +0,0 @@ -Trader Galibredo:
-Have you ever heard of Berona, a sculptor from the Elmoreden Empire? She is well-known among antique lovers...
-A few months ago, hundreds of her works were excavated in Innadril. "Galfredo Romer's Bust" was one of them. He was one of my ancestors who was as an aid to the Emperor! It is recorded in my family's genealogy! If you don't believe me, I'll show it to you!
-Anyway, I sent my nephew to Innadril to buy all the sculptures for me. But, while they were being delivered to me, they were stolen by Orc bandits. I'm very upset with my nephew! I told him repeatedly to hire guards!
-Ahem! So, here's the deal. Will you recover the sculptures for me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-03.htm b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-03.htm deleted file mode 100644 index f1346565b8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Trader Galibredo:
-The thieves who stole my precious sculptures are the Timak Orc troop. According to my nephew, the troop consists of Timak Orc troop archers, timak Orc troop warriors, timak Orc troop leaders and the Timak Orc troop shaman. I doubt that those brutes even know the value of what they have!
-If you bring me "Galfredo Romer's Busts", I will pay you handsomely. If you bring me 100 or more of them at one time, you will receive a bonus. Please try your best!
-You can keep any other sculptures you recover. You can sell them to a store or give them to someone as a gift.
-They move around in a group, so it is not a bad idea to go with a couple of friends, if they wish to. Good luck! I'm counting on you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-04.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-04.html deleted file mode 100644 index 2cf29be5ae..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Galibredo:
-Although now I'm merely a merchant, at one time my family was prominent! Although I may not look it, the blood of kings courses through my veins!
-What's with the expression? Does it mean you don't believe me? You must think I'm just a crazy old man! Get away from me!
-(This quest can only be undertaken by a character of level 36 or higher.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-05.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-05.html deleted file mode 100644 index fd131e49b3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-05.html +++ /dev/null @@ -1,7 +0,0 @@ -Trader Galibredo:
-Come on in! I've been waiting for you. How did you do?
-Let me say this to you again. The thieves who stole my precious antiques are the Timak Orc troop archers, timak Orc troop warriors, timak Orc troop leaders and the Timak Orc troop shaman. I trust that you destroyed them and recovered my goods?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-06.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-06.html deleted file mode 100644 index d4b59caf4a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Galibredo:
-What the...? Where are the statues of my ancestor...? Don't you know?! I mean, where are Galfredo Romer's Busts? Do you expect me to pay you for nothing? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-07.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-07.html deleted file mode 100644 index 4ead6e930c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-07.html +++ /dev/null @@ -1,6 +0,0 @@ -Trader Galibredo:
-Oh, at last! The proof of the prestigious heritage of my family! The dignity of my great ancestors is restored!
-Let me see... how may busts did you bring me? 70... 80... 90... Oh, wonderful! It's more than 100! Then, in addition to your regular pay, I'll add a bonus... Here you go! Thank you for your hard work!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-08.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-08.html deleted file mode 100644 index 7449535bdd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-08.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Galibredo:
-Oh, at last! The proof of the prestigious heritage of my family! The dignity of my great ancestors is restored! Thank you very much young man! Let me see... how may busts did you bring me? Oh yes! Here is your reward!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-09.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-09.html deleted file mode 100644 index 9105fab90a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Galibredo:
-I'm counting on you! Go punish those dastardly thieves and recover my precious antiques. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-10.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-10.html deleted file mode 100644 index 0e552d0b97..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-10.html +++ /dev/null @@ -1,4 +0,0 @@ -Trader Galibredo:
-You want to quit? Sigh...! That's the problem with today's young people... always hopping from job to job, they never stay in one place very long! Don't you know that once you accept a job, you should finish it? Dear me...
-Oh, well, if that is really what you want, I won't stop you. Thank you for your hard work. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-11.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-11.html deleted file mode 100644 index ad486cfa60..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30181-11.html +++ /dev/null @@ -1,8 +0,0 @@ -Trader Galibredo:
-Welcome back! I've been waiting for you. Were you successful? I trust that you destroyed the Timak Orc troop and brought back my goods?
-As I told you, all I want is "Galfredo Romer's Busts". You can keep the other works of sculptor Berona for yourself. You should be able to sell them for a fairly good price.
-Or... if you would like, you can also take them to the antique dealer Patrin over there and get them appraised. Since we are close friends, I'll put in a good word for you. If the statues are prototypes or originals they are more valuable. If they are imitations or fakes, then they are worthless. It's a gamble.

- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-01.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-01.html deleted file mode 100644 index d8d441903a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-01.html +++ /dev/null @@ -1,6 +0,0 @@ -Antique Dealer Patrin:
-Yes, Trader Galibredo told me about you. He said that you would be stopping by with some antique statues to be appraised...
-Oh my! That statue... is that the "Lady of the Court" by Berona? Where did you find such a precious item...? Let me have a look!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-02.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-02.html deleted file mode 100644 index d38cc5c912..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-02.html +++ /dev/null @@ -1,6 +0,0 @@ -Antique Dealer Patrin:
-Why, you find the true value of the item! To the untrained eye, an antique like this may seem rather ordinary. But to an expert like myself, each subtle mark and worn surface tells a story. The materials and techniques used in its manufacture are revealed to me.
-The different aspects will determine the true value of the statue. Statues that are appraised to be prototypes or genuine are the most valuable.
-If the appraisal shows that the statue is an imitation or a forgery, its value will be minimal. Sometimes it is better to skip the appraisal altogether.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-03.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-03.html deleted file mode 100644 index 37e31e469a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-03.html +++ /dev/null @@ -1,8 +0,0 @@ -Antique Dealer Patrin:
-Just a moment... Let me get my reading glasses...
-Now, what have we here? Hmm...
-Oh Oh...!
-Hmm...?!
-In... indeed...!
-This is a prototype made by the very hands of Berona! This was used to make molds from which many other statues were produced. You must understand that this is one of the most valuable antiques you will ever find. It will fetch a handsome price at any store. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-04.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-04.html deleted file mode 100644 index 669ed70a29..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-04.html +++ /dev/null @@ -1,8 +0,0 @@ -Antique Dealer Patrin:
-Just a moment... Let me get my reading glasses...
-Now, what have we here? Hmm...
-Oh Oh...!
-Hmm...?!
-In... indeed...!
-This is indeed a genuine statue. It was made from the prototype. Although not as valuable as its prototype, it is highly regarded among antique dealers. It will fetch a pretty good price at any store. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-05.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-05.html deleted file mode 100644 index 764b47df7a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-05.html +++ /dev/null @@ -1,7 +0,0 @@ -Antique Dealer Patrin:
-Just a moment... Let me get my reading glasses...
-Now, what have we here?
-Hmm...?!
-Oh... Heh heh...!
-This is no work of Berona. It is a very cleverly made imitation! An apprentice sculptor must have copied the work of Berona. It is not worth much. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-06.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-06.html deleted file mode 100644 index 31a504a480..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-06.html +++ /dev/null @@ -1,8 +0,0 @@ -Antique Dealer Patrin:
-Just a moment... Let me get my reading glasses...
-Now, shall I take a look at it? Hmm...
-Oh Oh...!
-Hmm...?!
-Heh Heh...!
-This is not Berona's work! It's a forgery! It must have been made by a skillful counterfeiter! I am sorry. It is virtually worthless. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-07.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-07.html deleted file mode 100644 index c9ebb79bd9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-07.html +++ /dev/null @@ -1,6 +0,0 @@ -Antique Dealer Patrin:
-Just a moment... Let me get my reading glasses...
-Now, what have we here? Hmm...
-Huh...?!! I barely touched it! How could I have made such a mistake!
-May I offer my abject apologies! Ancient articles such as this are so very fragile! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-08.html b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-08.html deleted file mode 100644 index f1c64f4f95..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/30929-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Antique Dealer Patrin:
-Why would you come to me empty-handed and ask for an appraisal? Are you kidding? What insolence! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/Q00355_FamilyHonor.java b/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/Q00355_FamilyHonor.java deleted file mode 100644 index c55e362582..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00355_FamilyHonor/Q00355_FamilyHonor.java +++ /dev/null @@ -1,247 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00355_FamilyHonor; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.util.Util; - -/** - * Family Honor (355) - * @author Adry_85 - */ -public final class Q00355_FamilyHonor extends Quest -{ - private static final class DropInfo - { - public final int _firstChance; - public final int _secondChance; - - public DropInfo(int firstChance, int secondChance) - { - _firstChance = firstChance; - _secondChance = secondChance; - } - - public int getFirstChance() - { - return _firstChance; - } - - public int getSecondChance() - { - return _secondChance; - } - } - - // NPCs - private static final int GALIBREDO = 30181; - private static final int PATRIN = 30929; - // Items - private static final int GALFREDO_ROMERS_BUST = 4252; - private static final int SCULPTOR_BERONA = 4350; - private static final int ANCIENT_STATUE_PROTOTYPE = 4351; - private static final int ANCIENT_STATUE_ORIGINAL = 4352; - private static final int ANCIENT_STATUE_REPLICA = 4353; - private static final int ANCIENT_STATUE_FORGERY = 4354; - // Misc - private static final int MIN_LEVEL = 36; - - private static final Map MOBS = new HashMap<>(); - static - { - MOBS.put(20767, new DropInfo(560, 684)); // timak_orc_troop_leader - MOBS.put(20768, new DropInfo(530, 650)); // timak_orc_troop_shaman - MOBS.put(20769, new DropInfo(420, 516)); // timak_orc_troop_warrior - MOBS.put(20770, new DropInfo(440, 560)); // timak_orc_troop_archer - } - - public Q00355_FamilyHonor() - { - super(355, Q00355_FamilyHonor.class.getSimpleName(), "Family Honor"); - addStartNpc(GALIBREDO); - addTalkId(GALIBREDO, PATRIN); - addKillId(MOBS.keySet()); - registerQuestItems(GALFREDO_ROMERS_BUST); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30181-02.htm": - case "30181-09.html": - case "30929-01.html": - case "30929-02.html": - { - htmltext = event; - break; - } - case "30181-03.htm": - { - qs.startQuest(); - htmltext = event; - break; - } - case "30181-06.html": - { - final long galfredoRomersBustCount = getQuestItemsCount(player, GALFREDO_ROMERS_BUST); - - if (galfredoRomersBustCount < 1) - { - htmltext = event; - } - else if (galfredoRomersBustCount >= 100) - { - giveAdena(player, (galfredoRomersBustCount * 120) + 7800, true); - takeItems(player, GALFREDO_ROMERS_BUST, -1); - htmltext = "30181-07.html"; - } - else - { - giveAdena(player, (galfredoRomersBustCount * 120) + 2800, true); - takeItems(player, GALFREDO_ROMERS_BUST, -1); - htmltext = "30181-08.html"; - } - break; - } - case "30181-10.html": - { - final long galfredoRomersBustCount = getQuestItemsCount(player, GALFREDO_ROMERS_BUST); - - if (galfredoRomersBustCount > 0) - { - giveAdena(player, galfredoRomersBustCount * 120, true); - } - - takeItems(player, GALFREDO_ROMERS_BUST, -1); - qs.exitQuest(true, true); - htmltext = event; - break; - } - case "30929-03.html": - { - final int random = getRandom(100); - - if (hasQuestItems(player, SCULPTOR_BERONA)) - { - if (random < 2) - { - giveItems(player, ANCIENT_STATUE_PROTOTYPE, 1); - htmltext = event; - } - else if (random < 32) - { - giveItems(player, ANCIENT_STATUE_ORIGINAL, 1); - htmltext = "30929-04.html"; - } - else if (random < 62) - { - giveItems(player, ANCIENT_STATUE_REPLICA, 1); - htmltext = "30929-05.html"; - } - else if (random < 77) - { - giveItems(player, ANCIENT_STATUE_FORGERY, 1); - htmltext = "30929-06.html"; - } - else - { - htmltext = "30929-07.html"; - } - - takeItems(player, SCULPTOR_BERONA, 1); - } - else - { - htmltext = "30929-08.html"; - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getQuestState(killer, false); - - if ((qs == null) || !Util.checkIfInRange(1500, npc, killer, true)) - { - return null; - } - - final DropInfo info = MOBS.get(npc.getId()); - final int random = getRandom(1000); - - if (random < info.getFirstChance()) - { - qs.giveItemRandomly(npc, GALFREDO_ROMERS_BUST, 1, 0, 1.0, true); - } - else if (random < info.getSecondChance()) - { - qs.giveItemRandomly(npc, SCULPTOR_BERONA, 1, 0, 1.0, true); - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs.isCreated()) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30181-01.htm" : "30181-04.html"; - } - else if (qs.isStarted()) - { - if (npc.getId() == GALIBREDO) - { - if (hasQuestItems(player, SCULPTOR_BERONA)) - { - htmltext = "30181-11.html"; - } - else - { - htmltext = "30181-05.html"; - } - } - else - { - htmltext = "30929-01.html"; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-01.htm b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-01.htm deleted file mode 100644 index 3a1b300f8c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Gauen:
-Since the era of Shunaiman, the first emperor of the ancient Elmoreden Empire, the Mystics of the Ivory Tower have been researching the Sea of Spores. Around E.D. 500 they constructed a force field tower which stopped the spread of that wretched sea. Their research has continued throughout the centuries.
-Although the ancient barrier appears to be holding, the Sea of Spores continues to threaten us. A final solution to this problem must be found.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-02.htm b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-02.htm deleted file mode 100644 index 0f33d6934a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-02.htm +++ /dev/null @@ -1,7 +0,0 @@ -Magister Gauen:
-Frankly, I'm not sure. Up to now our research has been focused on sustaining and strengthening the magic force field tower.
-However, it has become clear that we need a more permanent solution. For this we must return to the Sea of Spores itself.
-We must shift our strategy to researching each individual spore, one by one.
-We must study the colonies they build, how they spawn and the complex relationships between the plants and animals of the sea.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-03.htm b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-03.htm deleted file mode 100644 index b52020e7e6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Magister Gauen:
-I must have a tissue sample of an organism that has joined with spores and grown roots. Rotting Tree Spores and spore zombies will do nicely.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-04.htm b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-04.htm deleted file mode 100644 index 5a3aacd27b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Magister Gauen:
-There are many different types of spores, all with unique and often dangerous characteristics. Are you sure you want to do this?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-05.htm b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-05.htm deleted file mode 100644 index fbd791500e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-05.htm +++ /dev/null @@ -1,3 +0,0 @@ -Magister Gauen:
-Your resolve is admirable! Go and get the spores that live as parasites on rotten trees and spore zombies. Put the spores from the spore zombies in this grey pouch and put the spores from the rotten trees in this yellow pouch. The capacity of the pouches varies according to the size of the spores. Each pouch usually holds about 50 spores. Thank you for your assistance. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-06.htm b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-06.htm deleted file mode 100644 index 7ea5415d15..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-06.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Gauen:
-Since the era of Shunaiman, the first emperor of the ancient Elmoreden Empire, the Mystics of the Ivory Tower have been researching the Sea of Spores. Around E.D. 500 they constructed a force field tower which stopped the spread of that wretched sea. Their research has continued through the centuries.
-They could use some help in their studies, but I'm afraid you're not yet ready.
-(This quest may only be undertaken by a character of level 43 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-07.html b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-07.html deleted file mode 100644 index 364929bc8d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Gauen:
-Have you been to the Sea of Spores? Bring me the spores from rotten trees in this yellow pouch and the spores from spore zombies in this grey pouch. Fill the pouches with 50 spores each and then bring them back to me. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-08.html b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-08.html deleted file mode 100644 index f25856c3bd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-08.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Gauen:
-Have you just returned from the Sea of Spores? I see that you have filled the yellow pouch. Due to inevitable...ah, shrinkage, I had hoped that you would fill both pouches. Well, no matter. What do you wish to do? Will you give me the yellow pouch?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-09.html b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-09.html deleted file mode 100644 index c1c826f889..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-09.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Gauen:
-Do you wish to continue collecting spores or would you like to quit?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-10.html b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-10.html deleted file mode 100644 index ec977ea20b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Gauen:
-Go to the Sea of Spores and bring back the spores that are parasites on the bodies of rotten trees and spore zombies. Collect 50 of each kind in each of the two pouches. Please do this and restore peace to the community. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-11.html b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-11.html deleted file mode 100644 index 863b4d7e5f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-11.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Gauen:
-Thank you very much.
If you ever return to the Sea of Spores, come and see me. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-12.html b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-12.html deleted file mode 100644 index 4c285eb56b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-12.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Gauen:
-Have you just returned from the Sea of Spores? I see that you have filled the grey pouch. Due to inevitable...ah, shrinkage, I had hoped that you would fill both pouches. Well, no matter. What do you wish to do? Will you give me the grey pouch?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-13.html b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-13.html deleted file mode 100644 index 3a4d94bfbb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-13.html +++ /dev/null @@ -1,6 +0,0 @@ -Magister Gauen:
-Ah, you've returned! Give me the pouches. Hmm...
-Actually, I'm a little busy... Just put them anywhere...
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-14.html b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-14.html deleted file mode 100644 index f4279dd65b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-14.html +++ /dev/null @@ -1,4 +0,0 @@ -Magister Gauen:
-Please put them in that box over there. Thanks to you, we can continue to conduct highly productive and effective research. Your contribution will be duly noted.
-Would you like to help us some more? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-15.html b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-15.html deleted file mode 100644 index bb0994bca5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-15.html +++ /dev/null @@ -1,4 +0,0 @@ -Magister Gauen:
-Oh yes, this is great! Splendid work! Even experts aren't so neat!
-You must be rewarded! Please take this. You have greatly aided our research. I may ask for your assistance again. You are very good at this! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-16.html b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-16.html deleted file mode 100644 index bfe0ac66c7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-16.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Gauen:
-Here we go... I acknowledge that I received from you 50 Herbivorous Spores and 50 carnivorous spores. Here is your reward. If you wish, come back and help me again. We have enough for now, but I'm sure that in the future we shall need more. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-17.html b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-17.html deleted file mode 100644 index 475805b5fe..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-17.html +++ /dev/null @@ -1,4 +0,0 @@ -Magister Gauen:
-What's this? They're all crushed together! I can't count them when they're like this... Well, they feel to be about the right weight...
-They have been too badly damaged to be useful for our research. But a deal's a deal, I shall pay you. If you wish to continue in this job, you must be more careful! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-18.html b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-18.html deleted file mode 100644 index 8e5c80e119..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/30717-18.html +++ /dev/null @@ -1,4 +0,0 @@ -Magister Gauen:
-I'm sorry, I was distracted. Let's see, first we must sort them... What do we have here?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/Q00356_DigUpTheSeaOfSpores.java b/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/Q00356_DigUpTheSeaOfSpores.java deleted file mode 100644 index bf686fbfbe..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00356_DigUpTheSeaOfSpores/Q00356_DigUpTheSeaOfSpores.java +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00356_DigUpTheSeaOfSpores; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.util.Util; -import com.l2jserver.util.Rnd; - -/** - * Dig Up the Sea of Spores! (356) - * @author Adry_85 - */ -public final class Q00356_DigUpTheSeaOfSpores extends Quest -{ - // NPC - private static final int GAUEN = 30717; - // Items - private static final int CARNIVORE_SPORE = 5865; - private static final int HERBIVOROUS_SPORE = 5866; - // Misc - private static final int MIN_LEVEL = 43; - // Monsters - private static final int ROTTING_TREE = 20558; - private static final int SPORE_ZOMBIE = 20562; - private static final Map MONSTER_DROP_CHANCES = new HashMap<>(); - static - { - MONSTER_DROP_CHANCES.put(ROTTING_TREE, 0.73); - MONSTER_DROP_CHANCES.put(SPORE_ZOMBIE, 0.94); - } - - public Q00356_DigUpTheSeaOfSpores() - { - super(356, Q00356_DigUpTheSeaOfSpores.class.getSimpleName(), "Dig Up the Sea of Spores!"); - addStartNpc(GAUEN); - addTalkId(GAUEN); - addKillId(ROTTING_TREE, SPORE_ZOMBIE); - registerQuestItems(HERBIVOROUS_SPORE, CARNIVORE_SPORE); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30717-02.htm": - case "30717-03.htm": - case "30717-04.htm": - case "30717-10.html": - case "30717-18.html": - { - htmltext = event; - break; - } - case "30717-05.htm": - { - qs.startQuest(); - htmltext = event; - break; - } - case "30717-09.html": - { - addExpAndSp(player, 31850, 0); - takeItems(player, CARNIVORE_SPORE, -1); - takeItems(player, HERBIVOROUS_SPORE, -1); - htmltext = event; - break; - } - case "30717-11.html": - { - qs.exitQuest(true, true); - htmltext = event; - break; - } - case "30717-14.html": - { - addExpAndSp(player, 45500, 2600); - qs.exitQuest(true, true); - htmltext = event; - break; - } - case "FINISH": - { - final int value = Rnd.get(100); - int adena = 0; - if (value < 20) - { - adena = 44000; - htmltext = "30717-15.html"; - } - else if (value < 70) - { - adena = 20950; - htmltext = "30717-16.html"; - } - else - { - adena = 10400; - htmltext = "30717-17.html"; - } - giveAdena(player, adena, true); - qs.exitQuest(true, true); - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getQuestState(killer, false); - - if ((qs == null) || !Util.checkIfInRange(1500, npc, killer, true)) - { - return null; - } - - final int dropItem = ((npc.getId() == ROTTING_TREE) ? HERBIVOROUS_SPORE : CARNIVORE_SPORE); - final int otherItem = ((dropItem == HERBIVOROUS_SPORE) ? CARNIVORE_SPORE : HERBIVOROUS_SPORE); - - if (giveItemRandomly(qs.getPlayer(), npc, dropItem, 1, 50, MONSTER_DROP_CHANCES.get(npc.getId()), true)) - { - if (getQuestItemsCount(killer, otherItem) >= 50) - { - qs.setCond(3); - } - else - { - qs.setCond(2); - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs.isCreated()) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30717-01.htm" : "30717-06.htm"; - } - else if (qs.isStarted()) - { - final boolean hasAllHerbSpores = (getQuestItemsCount(player, HERBIVOROUS_SPORE) >= 50); - final boolean hasAllCarnSpores = (getQuestItemsCount(player, CARNIVORE_SPORE) >= 50); - - if (hasAllHerbSpores && hasAllCarnSpores) - { - htmltext = "30717-13.html"; - } - else if (hasAllCarnSpores) - { - htmltext = "30717-12.html"; - } - else if (hasAllHerbSpores) - { - htmltext = "30717-08.html"; - } - else - { - htmltext = "30717-07.html"; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-01.htm b/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-01.htm deleted file mode 100644 index 162c215dfc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Grand Master Oltlin:
-Have you seen the sights of the city? The wonderful castles built by humans, in spite of countless errors and obstacles. Do you have any idea what is beneath them? Often, long shadows are cast under the glow of glory.
-You always find the darkest shadows under strong light. Those who pursue glory are wary of shadows. Where there is pure achievement, there is always absence.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-02.htm b/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-02.htm deleted file mode 100644 index 1a50d0b805..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Grand Master Oltlin:
-Ah, yes, the bitter ramblings of an old man. As you approach true enlightenment, the shadows grow darker. Among those who pursue glory, some work diligently against the shadow at every opportunity.
-At the same time, they must know that their efforts are as futile as covering up the sky with your hand. Of course, I don't need to explain this to you. The gods created us in their own imperfect image.
-Perfect beings' only creations are contrivances. As the perfect circle has no edge... perfect hatred only produces monsters.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-03.htm b/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-03.htm deleted file mode 100644 index de3bd55990..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-03.htm +++ /dev/null @@ -1,7 +0,0 @@ -Grand Master Oltlin:
-Her anger towards Gran Kain and Einhasad for a time turned Shilen into a pure and perfect being. That is, she became the literal incarnation of destruction.
-As she achieved the purest form of fury, her benevolence and austerity left her completely. Her perfect wrath is the source of those evil creatures.
-They are sealed away now, and I don't know what their current condition is, but their very existence proves that she has become a goddess of destruction!
-We worshippers of Shilen teach our children that she is our mother, therefore we must calm her wrath.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-04.htm b/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-04.htm deleted file mode 100644 index 42c81d97be..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Grand Master Oltlin:
-There are evil creatures close to her. These are the illegitimate children she bore while her fury was at its fiercest... Go slay Falibati and Trives who bear a striking resemblence to her. Bring back their Snake Scales.
-If you bring me 108 Snake Scales, I will teach you a secret, ancient method of creation. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-05.html b/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-05.html deleted file mode 100644 index b00d937a3b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Grand Master Oltlin:
-Have you seen the sights of the city? The wonderful castles built by humans, in spite of countless errors and obstacles. Do you have any idea what is beneath them? Often, long shadows are cast under the glow of glory.
-You always find the darkest shadows under strong light. Does this make sense to you? I thought not. It seems you will need more training. Why don't you explore the world some more and come back later.
-(This quest can only be undertaken by a character of level 63 or higher.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-06.html b/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-06.html deleted file mode 100644 index c2c6d719dc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Grand Master Oltlin:
-To restore the dignity and glory of the goddess you must kill Falibati and Trives, the illegitimate children born of her wrath, and bring back 108 Snake Scales. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-07.html b/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-07.html deleted file mode 100644 index 82c3c11480..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/30862-07.html +++ /dev/null @@ -1,5 +0,0 @@ -Grand Master Oltlin:
-Thank you for your efforts. I know it was not easy... Needless to say, please don't tell other people that you have done this for me. Above all my children must never learn of it...
-In exchange for your efforts, I will give you this Secret Book in which ancient secret creation methods are recorded. I hope it will be helpful to you.
-Too many people think they can cover the sky with the palm of their hand. There is such a thing as too much truth... My work will likely never end... If you are ever interested in helping me again, come back to see me. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/Q00358_IllegitimateChildOfTheGoddess.java b/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/Q00358_IllegitimateChildOfTheGoddess.java deleted file mode 100644 index e27a11f5ae..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00358_IllegitimateChildOfTheGoddess/Q00358_IllegitimateChildOfTheGoddess.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00358_IllegitimateChildOfTheGoddess; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Illegitimate Child of the Goddess (358) - * @author Adry_85 - */ -public final class Q00358_IllegitimateChildOfTheGoddess extends Quest -{ - // NPC - private static final int OLTRAN = 30862; - // Item - private static final int SNAKE_SCALE = 5868; - // Misc - private static final int MIN_LEVEL = 63; - private static final int SNAKE_SCALE_COUNT = 108; - // Rewards - private static final int[] REWARDS = new int[] - { - 5364, // Recipe: Sealed Dark Crystal Shield(60%) - 5366, // Recipe: Sealed Shield of Nightmare(60%) - 6329, // Recipe: Sealed Phoenix Necklace(70%) - 6331, // Recipe: Sealed Phoenix Earring(70%) - 6333, // Recipe: Sealed Phoenix Ring(70%) - 6335, // Recipe: Sealed Majestic Necklace(70%) - 6337, // Recipe: Sealed Majestic Earring(70%) - 6339, // Recipe: Sealed Majestic Ring(70%) - }; - // Mobs - private static final Map MOBS = new HashMap<>(); - static - { - MOBS.put(20672, 0.71); // trives - MOBS.put(20673, 0.74); // falibati - } - - public Q00358_IllegitimateChildOfTheGoddess() - { - super(358, Q00358_IllegitimateChildOfTheGoddess.class.getSimpleName(), "Illegitimate Child of the Goddess"); - addStartNpc(OLTRAN); - addTalkId(OLTRAN); - addKillId(MOBS.keySet()); - registerQuestItems(SNAKE_SCALE); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30862-02.htm": - case "30862-03.htm": - { - htmltext = event; - break; - } - case "30862-04.htm": - { - st.startQuest(); - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState st = getRandomPartyMemberState(player, 1, 3, npc); - if ((st != null) && st.giveItemRandomly(npc, SNAKE_SCALE, 1, SNAKE_SCALE_COUNT, MOBS.get(npc.getId()), true)) - { - st.setCond(2, true); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st.isCreated()) - { - htmltext = ((player.getLevel() >= MIN_LEVEL) ? "30862-01.htm" : "30862-05.html"); - } - else if (st.isStarted()) - { - if (getQuestItemsCount(player, SNAKE_SCALE) < SNAKE_SCALE_COUNT) - { - htmltext = "30862-06.html"; - } - else - { - rewardItems(player, REWARDS[getRandom(REWARDS.length)], 1); - st.exitQuest(true, true); - htmltext = "30862-07.html"; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-01.html b/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-01.html deleted file mode 100644 index 4b17de7baf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Guard Coleman:
-Have you been to the Cemetery?
-It's a dangerous place, where many monsters roam. The neglect of the kingdom has allowed it to fall into ruins. If we incur our ancestors' wrath, we'll have no one to blame but ourselves. You must use extreme care when you go there. I seriously doubt that you will survive.
-(This quest can only be undertaken by a character of level 52 or higher.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-02.htm b/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-02.htm deleted file mode 100644 index 599ba67d7d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Guard Coleman:
-Have you witnessed the current condition of the Cemetery?
-The final resting place of kings, aristocrats and heroes has fallen into ruin and been overtaken by hideous monsters. Our neglect tempts our ancestors' wrath.
-At Captain Kurtiz's direction, we have begun to try to drive out the monsters, but we have not been very effective so far.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-03.htm b/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-03.htm deleted file mode 100644 index c43f61d80a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Guard Coleman:
-Captain Kurtiz says that in order to wipe them out completely, the Taik Orc seeker and the Taik Orc supply leader must be stopped from giving supplies to the monsters.
-But alas, our guards are having a hard time dealing with their forces. The captain has ordered me to find someone who can kill them for us.
-You seem capable of doing it. Are you willing to help us? We will pay you a generous reward.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-04.htm b/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-04.htm deleted file mode 100644 index c2256286a9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -Guard Coleman:
-I wish you luck. You will be compensated based on the amount of supplies you bring back from the orcs. If you happen to find an important document, please bring it to me as well. In our current predicament, any amount of enemy intelligence would be very helpful. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-05.html b/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-05.html deleted file mode 100644 index a150b9ea0b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Guard Coleman:
-Why are you still here? Your must subjugate Taik Orc seekers and Taik Orc supply leaders. You can't go back on your word! You don't intend to do that, do you?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-06.html b/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-06.html deleted file mode 100644 index 97225f6ab3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Guard Coleman:
-Are you finished already? You must be exhausted! Thank you! Here is your reward. This should be more than enough compensation for your work... Do you wish to continue helping me with this mission?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-07.html b/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-07.html deleted file mode 100644 index 85422e343b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-07.html +++ /dev/null @@ -1,7 +0,0 @@ -Guard Coleman:
-Are you finished already? You must be exhausted! Thank you! You shall be well compensated.
-What is this? A document regarding the supplies? I knew it! There is a conspiracy afoot! I must take this to Captain Kurtiz right away! Thank you!
-Oh yes, I almost forgot. Here is your reward. Here is some extra for the document...
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-08.html b/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-08.html deleted file mode 100644 index 91ea0d75db..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-08.html +++ /dev/null @@ -1,7 +0,0 @@ -Guard Coleman:
-Are you finished already? You must be exhausted! Thank you! You shall be well compensated.
-What is this? A document regarding the supplies? I knew it! There is a conspiracy afoot! I must take this to Captain Kurtiz right away! Thank you!
-Oh yes, I almost forgot. Here is your reward. Here is some extra for the document... Will you continue to help me?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-09.html b/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-09.html deleted file mode 100644 index a4e1e3eeca..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Coleman:
-Thank you! I'm sure you will continue to have great results. Bring me any supplies and documents you take from the Taik orcs and I will give you a generous reward... Hurry! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-10.html b/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-10.html deleted file mode 100644 index 9267e4accf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/30873-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Coleman:
-Ah, yes... I understand... We all have our own path to follow... I shouldn't try to stop you. May a divine blessing shine upon your path from this day forward... But with your abilities, you probably don't even need a blessing. Someday I'm sure your name with be known throughout the kingdom of Aden. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/Q00360_PlunderTheirSupplies.java b/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/Q00360_PlunderTheirSupplies.java deleted file mode 100644 index 96f3424016..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/Q00360_PlunderTheirSupplies.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00360_PlunderTheirSupplies; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.util.Util; - -/** - * Plunder Supplies (360) - * @author netvirus - */ -public final class Q00360_PlunderTheirSupplies extends Quest -{ - // Npc - private static final int COLEMAN = 30873; - // Misc - private static final int MIN_LVL = 52; - // Monsters - private static final Map MONSTER_DROP_CHANCES = new HashMap<>(); - // Items - private static final int RECIPE_OF_SUPPLY = 5870; - private static final int SUPPLY_ITEMS = 5872; - private static final int SUSPICIOUS_DOCUMENT_PIECE = 5871; - - static - { - MONSTER_DROP_CHANCES.put(20666, 50); // Taik Orc Seeker - MONSTER_DROP_CHANCES.put(20669, 75); // Taik Orc Supply Leader - } - - public Q00360_PlunderTheirSupplies() - { - super(360, Q00360_PlunderTheirSupplies.class.getSimpleName(), "Plunder Their Supplies"); - addStartNpc(COLEMAN); - addTalkId(COLEMAN); - addKillId(MONSTER_DROP_CHANCES.keySet()); - registerQuestItems(SUPPLY_ITEMS, SUSPICIOUS_DOCUMENT_PIECE, RECIPE_OF_SUPPLY); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - String htmltext = null; - if (st == null) - { - return htmltext; - } - - switch (event) - { - case "30873-03.htm": - case "30873-09.html": - { - htmltext = event; - break; - } - case "30873-04.htm": - { - st.startQuest(); - htmltext = event; - break; - } - case "30873-10.html": - { - st.exitQuest(false, true); - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet) - { - final QuestState st = getQuestState(killer, false); - if ((st == null) || !Util.checkIfInRange(1500, npc, killer, false)) - { - return super.onKill(npc, killer, isPet); - } - - if (getRandom(100) < MONSTER_DROP_CHANCES.get(npc.getId())) - { - st.giveItems(SUPPLY_ITEMS, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - - if (getRandom(100) < 10) - { - if (st.getQuestItemsCount(SUSPICIOUS_DOCUMENT_PIECE) < 4) - { - st.giveItems(SUSPICIOUS_DOCUMENT_PIECE, 1); - } - else - { - st.giveItems(RECIPE_OF_SUPPLY, 1); - st.takeItems(SUSPICIOUS_DOCUMENT_PIECE, -1); - } - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - return super.onKill(npc, killer, isPet); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - { - htmltext = (player.getLevel() >= MIN_LVL) ? "30873-02.htm" : "30873-01.html"; - break; - } - case State.STARTED: - { - final long supplyCount = st.getQuestItemsCount(SUPPLY_ITEMS); - final long recipeCount = st.getQuestItemsCount(RECIPE_OF_SUPPLY); - if (supplyCount == 0) - { - if (recipeCount == 0) - { - htmltext = "30873-05.html"; - } - else - { - st.giveAdena((recipeCount * 6000), true); - st.takeItems(RECIPE_OF_SUPPLY, -1); - htmltext = "30873-08.html"; - } - } - else - { - if (recipeCount == 0) - { - st.giveAdena(((supplyCount * 100) + 6000), true); - st.takeItems(SUPPLY_ITEMS, -1); - htmltext = "30873-06.html"; - } - else - { - st.giveAdena((((supplyCount * 100) + 6000) + (recipeCount * 6000)), true); - st.takeItems(SUPPLY_ITEMS, -1); - st.takeItems(RECIPE_OF_SUPPLY, -1); - htmltext = "30873-07.html"; - } - } - break; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30837-01.html b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30837-01.html deleted file mode 100644 index 35754d234e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30837-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Trader Woodrow:
-Ah, you mean the flute that Swan ordered? It must have arrived at Giran Harbor by now...
-If you're in a hurry, you can go directly to the harbor and pick it up. I'll give you the item number so you can pick it up from Gallion at the harbor. - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30837-02.html b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30837-02.html deleted file mode 100644 index 32a24e6344..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30837-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Woodrow:
-Didn't you say that you desperately need the flute? It will take a long time for it to be shipped here. Why don't you go directly to Giran Harbor and pick it up? Give the item number I gave you to Gallion at the harbor. - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30837-03.html b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30837-03.html deleted file mode 100644 index 2a6cbc3e4b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30837-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Woodrow:
-So, we meet again! Please give my regards to Mr. Swan. - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30956-01.html b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30956-01.html deleted file mode 100644 index 40f8b59f60..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30956-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Musician Nanarin:
-What, another package from Bard Swan? Oh, my, this is especially beautiful!
-Hey, you aren't waiting around for a reply, are you? I appreciate all the flutes, but the Bard really isn't my type! Please tell him that my knight in shining armor is someone else! - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30956-02.html b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30956-02.html deleted file mode 100644 index 2fd839d9d7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30956-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Musician Nanarin:
-What am I to do about Bard Swan? I don't want to hurt his feelings but I am not attracted to him at all! - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-01.htm b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-01.htm deleted file mode 100644 index 4833185b52..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Bard Swan:
-I am uncomfortable talking about my feelings, but she is so beautiful and pure... She is the perfect woman! No... she is a goddess! If only I could tell her of my feelings...
-Her flute playing is sublime! She is renowned, even among the musicians of her own race, for her incredible talent. A while back I sent her a gift, a flute made of horn, but I haven't gotten any word back from her...
-Please help me! I feel like I'm losing my mind!
- - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-02.htm b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-02.htm deleted file mode 100644 index 58b1508d4a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Bard Swan:
-Oh, thank you so much! Actually, I have already ordered a flute for her from Trader Woodrow of the Town of Aden, a specialist in exotic musical instruments. Please check with him to see if the flute has arrived.
-Mention my name and he will tell you the status of my order. Afterwards I will give you a musical score that is necessary to make an Echo Crystal. - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-03.html b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-03.html deleted file mode 100644 index 12bae47dea..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Bard Swan:
-I am uncomfortable talking about my feelings, but she is so beautiful and pure... She is the perfect woman! No... she is a goddess! You are not worthy to even speak her name!
-(This quest may only be undertaken by a character of level 15 or above.) - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-04.html b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-04.html deleted file mode 100644 index 8902b4f546..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Bard Swan:
-My goddess... Oh, my dear goddess... I pray the flute makes her happy... What are you still doing here? Go and see Trader Woodrow of the Town of Aden and find out whether the flute I ordered has arrived. - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-05.html b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-05.html deleted file mode 100644 index 9bd77f036f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Bard Swan:
-Oh, thank you! The flute is beautiful! Surely this will please my beloved Nanarin. Would you perhaps be willing to take the flute to her, along with my letter? Please say that you will do this one last thing for me. - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-06.html b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-06.html deleted file mode 100644 index f44ca1a579..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Bard Swan:
-Did you deliver the flute and letter to Nanarin? What did she say? Please tell me!
- - - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-07.html b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-07.html deleted file mode 100644 index ff309896f9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Bard Swan:
-Oh, I knew it would work! Now, if I can only convince her of my devotion to her...
-I am greatly indebted to you! Unfortunately, I have spent most of my money on the flute... I've managed to scrape together a bit of money for you. Take it, along with this musical score I composed myself. - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-08.html b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-08.html deleted file mode 100644 index 43d7cccf9b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30957-08.html +++ /dev/null @@ -1,5 +0,0 @@ -Bard Swan:
-Oh, I wish I was dead!
-Perhaps it was the wrong gift. I must have not been trying hard enough. I shall never give up! Somehow I will win the heart of my beloved!
-Take this as a token of my gratitude for all your help. - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30958-01.html b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30958-01.html deleted file mode 100644 index f5fd07739f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30958-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Galion:
-A flute? Wait a moment, let me check...
-Ah, yes, here it is! A flute made of horn, imported from Avella. It's quite expensive but has an exquisite tone! - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30958-02.html b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30958-02.html deleted file mode 100644 index 54bc21dbba..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/30958-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Galion:
-How is my old friend Trader Woodrow? I feel I know him well although we have only spoken by letter... - diff --git a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/Q00362_BardsMandolin.java b/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/Q00362_BardsMandolin.java deleted file mode 100644 index a798afdaed..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00362_BardsMandolin/Q00362_BardsMandolin.java +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00362_BardsMandolin; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Bard's Mandolin (362) - * @author Adry_85 - */ -public final class Q00362_BardsMandolin extends Quest -{ - // NPCs - private static final int WOODROW = 30837; - private static final int NANARIN = 30956; - private static final int SWAN = 30957; - private static final int GALION = 30958; - // Items - private static final int SWANS_FLUTE = 4316; - private static final int SWANS_LETTER = 4317; - private static final int THEME_OF_JOURNEY = 4410; - // Misc - private static final int MIN_LEVEL = 15; - - public Q00362_BardsMandolin() - { - super(362, Q00362_BardsMandolin.class.getSimpleName(), "Bard's Mandolin"); - addStartNpc(SWAN); - addTalkId(SWAN, GALION, WOODROW, NANARIN); - registerQuestItems(SWANS_FLUTE, SWANS_LETTER); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30957-02.htm": - { - st.startQuest(); - st.setMemoState(1); - htmltext = event; - break; - } - case "30957-07.html": - case "30957-08.html": - { - if (st.isMemoState(5)) - { - st.giveAdena(10000, true); - st.rewardItems(THEME_OF_JOURNEY, 1); - st.exitQuest(true, true); - htmltext = event; - } - break; - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - switch (st.getState()) - { - case State.CREATED: - { - if (npc.getId() == SWAN) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30957-01.htm" : "30957-03.html"; - } - break; - } - case State.STARTED: - { - switch (npc.getId()) - { - case SWAN: - { - switch (st.getMemoState()) - { - case 1: - case 2: - { - htmltext = "30957-04.html"; - break; - } - case 3: - { - st.setCond(4, true); - st.setMemoState(4); - st.giveItems(SWANS_LETTER, 1); - htmltext = "30957-05.html"; - break; - } - case 4: - { - htmltext = "30957-05.html"; - break; - } - case 5: - { - htmltext = "30957-06.html"; - break; - } - } - break; - } - case GALION: - { - if (st.isMemoState(2)) - { - st.setMemoState(3); - st.setCond(3, true); - st.giveItems(SWANS_FLUTE, 1); - htmltext = "30958-01.html"; - } - else if (st.getMemoState() >= 3) - { - htmltext = "30958-02.html"; - } - break; - } - case WOODROW: - { - if (st.isMemoState(1)) - { - st.setMemoState(2); - st.setCond(2, true); - htmltext = "30837-01.html"; - } - else if (st.isMemoState(2)) - { - htmltext = "30837-02.html"; - } - else if (st.getMemoState() >= 3) - { - htmltext = "30837-03.html"; - } - break; - } - case NANARIN: - { - if (st.isMemoState(4) && st.hasQuestItems(SWANS_FLUTE, SWANS_LETTER)) - { - st.setMemoState(5); - st.setCond(5, true); - st.takeItems(SWANS_FLUTE, -1); - st.takeItems(SWANS_LETTER, -1); - htmltext = "30956-01.html"; - } - else if (st.getMemoState() >= 5) - { - htmltext = "30956-02.html"; - } - break; - } - } - break; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-01.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-01.html deleted file mode 100644 index fee596f603..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Freightman Aldo:
-Well, a while back he mentioned he didn't have anything to wear to an event... Maybe he would like a new outfit!
-By the way, how do you know Barbado? - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-02.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-02.html deleted file mode 100644 index 3835340930..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Freightman Aldo:
-Well, Barbado has a fondness for music... He is quite an accordionist... He once mentioned that he wanted to learn another instrument... I believe it was the flute...
-By the way, who are you? How do you know Barbado? - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-03.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-03.html deleted file mode 100644 index 50c6d8a91f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Freightman Aldo:
-Ah, Barbado... Yes, he does enjoy a nice cold black beer after he finishes playing his music...
-By the way, who are you? What is your relationship to Barbado? - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-04.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-04.html deleted file mode 100644 index e828fd574f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30057-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Freightman Aldo:
-I am Aldo. What is your name? - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-01.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-01.html deleted file mode 100644 index a2331b7c6d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Keeper Holvas:
-What would Barbado like?
-Well, recently he was complaining about not having anything to wear to an event... Maybe he would like a new outfit! - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-02.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-02.html deleted file mode 100644 index dd263c092f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Keeper Holvas:
-Hmmm, what would Barbado like to have?
-Well, he is a musician and has expressed an interest in learning to play a new instrument... Yes, I believe he mentioned that he wanted to learn to play the flute! - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-03.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-03.html deleted file mode 100644 index 9dd0d8bdaa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Keeper Holvas:
-I think Barbado would be happiest with a cold black beer after one of his musical performances! - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-04.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-04.html deleted file mode 100644 index 39a33839f6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30058-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Keeper Holvas:
-You know, come to think of it, a beer sounds pretty good to me, too! If you have the time, could you bring me one? - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-01.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-01.html deleted file mode 100644 index 1ae93f6819..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Blacksmith Poitan:
-Oh, Barbado. What would he want?
-Oh, I know! He mentioned recently that he didn't have anything to wear to a special event? Burp! Perhaps what he needs is a new outfit! - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-02.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-02.html deleted file mode 100644 index 3affeca7de..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Blacksmith Poitan:
-Oh, Barbado. What would he want?
-Oh, I know! He mentioned recently that he wanted to learn a new instrument! Burp! Perhaps what he wants is a flute! - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-03.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-03.html deleted file mode 100644 index 9ff2c00c27..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Blacksmith Poitan:
-Oh, Barbado. What would he want?
-Oh, I know! He likes nothing better than a cold glass of black beer after a performance! - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-04.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-04.html deleted file mode 100644 index 73a96d97d0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30458-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Blacksmith Poitan:
-Ha ha ha....
-I can't stop laughing! Ha ha ha... - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-01.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-01.html deleted file mode 100644 index 5ad25c35e1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Ranspo:
-What would Barbado want?
-Well, he did mention something about needing a new set of clothes! - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-02.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-02.html deleted file mode 100644 index b68b1b227a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Ranspo:
-What does Barbado want?
-Who knows? Well, he did say something once about wanting to pick up a new instrument... A flute, I think it was... - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-03.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-03.html deleted file mode 100644 index 70ee16e9cd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Chief Ranspo:
-What would Barbado like? Well, I don't know about him, but I could use a cold, black beer! - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-04.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-04.html deleted file mode 100644 index c1bc885125..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30594-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Chief Ranspo:
-I have no ear for music whatsoever! - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-01.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-01.html deleted file mode 100644 index 70626e7e45..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Head Blacksmith Opix:
-What would Barbado like?
-Well, I did hear him mention not too long ago that he wished he had something nice to wear to an event. Perhaps he would like a new outfit? - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-02.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-02.html deleted file mode 100644 index a113fc9548..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Head Blacksmith Opix:
-What would Barbado like?
-Well, he is a musician. I have often heard him say that he would like to learn a new instrument... What was it? Ah, yes! It was a flute! - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-03.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-03.html deleted file mode 100644 index c10ea7748c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Head Blacksmith Opix:
-What would Barbado like to have?
-I happen to know that his favorite thing in the whole world is a cold black beer after one of his musical performances. - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-04.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-04.html deleted file mode 100644 index c60248f328..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30595-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Head Blacksmith Opix:
-I'm extremely busy. Please stop bothering me. - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-01.htm b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-01.htm deleted file mode 100644 index 7b2fe985aa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Musician Nanarin:
-I must admit that his broad shoulders take my breath away, and that lovely beard of his has captured my soul...
-What can I do? I've never felt this way before... Could you please help me?
- - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-02.htm b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-02.htm deleted file mode 100644 index 6e702a0a01..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Musician Nanarin:
-Could you perhaps find out what would make him happy? I love Barbado... Please ask his friends what he wants the most. Start with the Dwarves in this village, and don't you dare mention my name!
-Will you please do this for me? - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-03.htm b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-03.htm deleted file mode 100644 index 843dec71c2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Musician Nanarin:
-You know, come to think of it, I don't think that you are the right person for this job.
-(This quest can only be undertaken by a character of level 15 or higher.) - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-04.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-04.html deleted file mode 100644 index e8f83f828f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-04.html +++ /dev/null @@ -1,6 +0,0 @@ -Musician Nanarin:
-So? What does Barbado want?
- - - - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-05.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-05.html deleted file mode 100644 index 7c2cebb712..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Musician Nanarin:
-Splendid! Please take him these clothes. If he asks, tell him they are from his secret admirer. - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-06.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-06.html deleted file mode 100644 index 91a9a6fcf0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Musician Nanarin:
-Oh, marvelous! Please take him this flute. If he asks you who sent it, just say that it is from his secret admirer. - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-07.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-07.html deleted file mode 100644 index 0631b4561f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Musician Nanarin:
-Oh, great! Please take him this black beer. If he asks who sent it, tell him it is from his secret admirer. - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-08.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-08.html deleted file mode 100644 index 63ddfc0559..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-08.html +++ /dev/null @@ -1,4 +0,0 @@ -Musician Nanarin:
-Oh, my sweet Barbado...
-How I pray that my gift will make him happy... - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-09.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-09.html deleted file mode 100644 index 694efeed4b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Musician Nanarin:
-Oh, yes, no need to tell me. I've already heard. Take this as a token of my appreciation. It's a score of some music that I enjoy playing on my flute. Take it to a Melody Maestro and she will make an Echo Crystal for you. - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-10.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-10.html deleted file mode 100644 index 92e0a3fe99..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30956-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Musician Nanarin:
-What a loser! I was a fool to trust you with such an important errand! Why are you standing there with your mouth hanging open? Get out of my sight, right now!!! - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30959-01.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30959-01.html deleted file mode 100644 index e03a50ac19..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30959-01.html +++ /dev/null @@ -1,3 +0,0 @@ -Musician Barbado:
-Just what I've always wanted! I wish I knew who sent me this! Whoever it is must know me well. - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30959-02.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30959-02.html deleted file mode 100644 index b758b28f40..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30959-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Musician Barbado:
-Thanks anyway, but I don't have any use for that.
-If that is all, would you excuse me, please? I must practice my music. - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30959-03.html b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30959-03.html deleted file mode 100644 index a7918b63ee..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/30959-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Musician Barbado:
-I am practicing my music. Please don't disturb me. - diff --git a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/Q00363_SorrowfulSoundOfFlute.java b/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/Q00363_SorrowfulSoundOfFlute.java deleted file mode 100644 index 311a73fcb2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00363_SorrowfulSoundOfFlute/Q00363_SorrowfulSoundOfFlute.java +++ /dev/null @@ -1,364 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00363_SorrowfulSoundOfFlute; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Sorrowful Sound of Flute (363) - * @author Adry_85 - */ -public final class Q00363_SorrowfulSoundOfFlute extends Quest -{ - // NPCs - private static final int ALDO = 30057; - private static final int HOLVAS = 30058; - private static final int POITAN = 30458; - private static final int RANSPO = 30594; - private static final int OPIX = 30595; - private static final int NANARIN = 30956; - private static final int BARBADO = 30959; - // Items - private static final int EVENT_CLOTHES = 4318; - private static final int NANARINS_FLUTE = 4319; - private static final int SABRINS_BLACK_BEER = 4320; - private static final int THEME_OF_SOLITUDE = 4420; - // Misc - private static final int MIN_LEVEL = 15; - - public Q00363_SorrowfulSoundOfFlute() - { - super(363, Q00363_SorrowfulSoundOfFlute.class.getSimpleName(), "Sorrowful Sound of Flute"); - addStartNpc(NANARIN); - addTalkId(NANARIN, POITAN, RANSPO, ALDO, HOLVAS, OPIX, BARBADO); - registerQuestItems(EVENT_CLOTHES, NANARINS_FLUTE, SABRINS_BLACK_BEER); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "START": - { - if (player.getLevel() >= MIN_LEVEL) - { - st.startQuest(); - st.setMemoState(2); - htmltext = "30956-02.htm"; - } - else - { - htmltext = "30956-03.htm"; - } - break; - } - case "30956-05.html": - { - st.giveItems(EVENT_CLOTHES, 1); - st.setMemoState(4); - st.setCond(3, true); - htmltext = event; - break; - } - case "30956-06.html": - { - st.giveItems(NANARINS_FLUTE, 1); - st.setMemoState(4); - st.setCond(3, true); - htmltext = event; - break; - } - case "30956-07.html": - { - st.giveItems(SABRINS_BLACK_BEER, 1); - st.setMemoState(4); - st.setCond(3, true); - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - switch (st.getState()) - { - case State.CREATED: - { - if (npc.getId() == NANARIN) - { - htmltext = "30956-01.htm"; - } - break; - } - case State.STARTED: - { - switch (npc.getId()) - { - case NANARIN: - { - switch (st.getMemoState()) - { - case 2: - { - htmltext = "30956-04.html"; - break; - } - case 4: - { - htmltext = "30956-08.html"; - break; - } - case 5: - { - st.rewardItems(THEME_OF_SOLITUDE, 1); - st.exitQuest(true, true); - htmltext = "30956-09.html"; - break; - } - case 6: - { - st.exitQuest(true, false); - st.playSound(QuestSound.ITEMSOUND_QUEST_GIVEUP); - htmltext = "30956-10.html"; - break; - } - } - break; - } - case POITAN: - { - if (st.isMemoState(2) && ((st.getInt("ex") % 100) < 10)) - { - int ex = st.getInt("ex"); - st.set("ex", ex + 11); - switch (getRandom(3)) - { - case 0: - { - htmltext = "30458-01.html"; - break; - } - case 1: - { - htmltext = "30458-02.html"; - break; - } - case 2: - { - htmltext = "30458-03.html"; - break; - } - } - st.setCond(2, true); - } - else if ((st.getMemoState() >= 2) && ((st.getInt("ex") % 100) >= 10)) - { - htmltext = "30458-04.html"; - } - break; - } - case RANSPO: - { - if (st.isMemoState(2) && ((st.getInt("ex") % 10000) < 1000)) - { - int ex = st.getInt("ex"); - st.set("ex", ex + 1001); - switch (getRandom(3)) - { - case 0: - { - htmltext = "30594-01.html"; - break; - } - case 1: - { - htmltext = "30594-02.html"; - break; - } - case 2: - { - htmltext = "30594-03.html"; - break; - } - } - st.setCond(2, true); - } - else if ((st.getMemoState() >= 2) && ((st.getInt("ex") % 10000) >= 1000)) - { - htmltext = "30594-04.html"; - } - break; - } - case ALDO: - { - if (st.isMemoState(2) && ((st.getInt("ex") % 100000) < 10000)) - { - int ex = st.getInt("ex"); - st.set("ex", ex + 10001); - switch (getRandom(3)) - { - case 0: - { - htmltext = "30057-01.html"; - break; - } - case 1: - { - htmltext = "30057-02.html"; - break; - } - case 2: - { - htmltext = "30057-03.html"; - break; - } - } - st.setCond(2, true); - } - else if ((st.getMemoState() >= 2) && ((st.getInt("ex") % 100000) >= 10000)) - { - htmltext = "30057-04.html"; - } - break; - } - case HOLVAS: - { - if (st.isMemoState(2) && ((st.getInt("ex") % 1000) < 100)) - { - int ex = st.getInt("ex"); - st.set("ex", ex + 101); - switch (getRandom(3)) - { - case 0: - { - htmltext = "30058-01.html"; - break; - } - case 1: - { - htmltext = "30058-02.html"; - break; - } - case 2: - { - htmltext = "30058-03.html"; - break; - } - } - st.setCond(2, true); - } - else if ((st.getMemoState() >= 2) && ((st.getInt("ex") % 1000) >= 100)) - { - htmltext = "30058-04.html"; - } - break; - } - case OPIX: - { - if (st.isMemoState(2) && (st.getInt("ex") < 100000)) - { - int ex = st.getInt("ex"); - st.set("ex", ex + 100001); - switch (getRandom(3)) - { - case 0: - { - htmltext = "30595-01.html"; - break; - } - case 1: - { - htmltext = "30595-02.html"; - break; - } - case 2: - { - htmltext = "30595-03.html"; - break; - } - } - st.setCond(2, true); - } - else if ((st.getMemoState() >= 2) && (st.getInt("ex") >= 100000)) - { - htmltext = "30595-04.html"; - } - break; - } - case BARBADO: - { - if (st.isMemoState(4)) - { - int ex = (st.getInt("ex") % 10) * 20; - if (getRandom(100) < ex) - { - if (st.hasQuestItems(EVENT_CLOTHES)) - { - st.takeItems(EVENT_CLOTHES, -1); - } - else if (st.hasQuestItems(NANARINS_FLUTE)) - { - st.takeItems(NANARINS_FLUTE, -1); - } - else if (st.hasQuestItems(SABRINS_BLACK_BEER)) - { - st.takeItems(SABRINS_BLACK_BEER, -1); - } - st.setMemoState(5); - st.setCond(4, true); - htmltext = "30959-01.html"; - } - else - { - st.setMemoState(6); - st.setCond(4, true); - htmltext = "30959-02.html"; - } - } - else if (st.getMemoState() >= 5) - { - htmltext = "30959-03.html"; - } - break; - } - } - break; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30060-01.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30060-01.html deleted file mode 100644 index e23f069a68..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30060-01.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Sabrin:
-Did Swan send you? This is not enough! Go back and tell him that from now on it will be more, otherwise he should do business elsewhere. - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30060-02.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30060-02.html deleted file mode 100644 index dd343cd447..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30060-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Sabrin:
-You know, it would be much less trouble if we just stole the recipe for making black beer from Jonas... - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30075-01.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30075-01.html deleted file mode 100644 index 60bee08c1d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30075-01.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Xaber:
-I received the item. Please tell Swan that I will send someone to him tomorrow. - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30075-02.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30075-02.html deleted file mode 100644 index c970a4964d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30075-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Xaber:
-Needless to say, the best kind of business is one that doesn't need any start-up capital! - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-01.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-01.html deleted file mode 100644 index 518878cad3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-01.html +++ /dev/null @@ -1,6 +0,0 @@ -Bard Swan:
-Barbado wants to play a duet with me? Hmmm, I don't know, my beloved seems to actually be attracted to that hairy ape!
-I am practically broke from buying gifts for Nanarin.
-Well, if you'll run an errand for me, I'll play a duet with Barbado. What do you say?
- - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-02.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-02.html deleted file mode 100644 index c3a6f49715..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Bard Swan:
-Please get some black beer from Chef Jonas and take it to Trader Sabrin. Jonas keeps his beer in a beer chest and stores it in a warehouse... He becomes quite cross when asked for favors, so it would be best if you handled this without talking to him.
-Also, go to the grocery store in the village and find a clothes chest. You will find it near Trader Sonia. Take the contents of that chest to Guard Xaber. Here are the keys to the two chests. Good luck! - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-03.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-03.html deleted file mode 100644 index 52b1539973..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Bard Swan:
-Is this too complicated for you? Would you like for me to explain it again? Take the black beer from Jonas' beer chest located in the warehouse and take it to Trader Sabrin. Then go to the grocery store and take Sonia's Event Clothes from the clothes chest and take them to Guard Xaber. - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-04.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-04.html deleted file mode 100644 index 6a4df26ca0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Bard Swan:
-How could you have botched so easy an errand?! Two items should not have been that hard to deliver!
-Well, at least you delivered one item... I'll play the duet, but I won't give you any money. - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-05.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-05.html deleted file mode 100644 index 675828f92f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Bard Swan:
-Good job! As I promised, I will play a duet . But let him know, I only intend to do this once!
-Here is your reward for running my errand. - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-06.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-06.html deleted file mode 100644 index 0175904a13..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Bard Swan:
-How could you have failed so easy a task? I shall never play a duet with Barbado! - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-07.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-07.html deleted file mode 100644 index 9a8737cff5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30957-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Bard Swan:
-Quiet! I'm writing a letter to my beloved and I must concentrate! - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-01.htm b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-01.htm deleted file mode 100644 index 5d7e9cdeda..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Musician Barbado:
-Some time ago, I heard Bard Swan playing his mandolin. His skills are quite impressive. I wish he would play a duet with me, but for some reason, whenever he sees me he avoids me...
-I hate to ask you to do this, but would you go see Swan and tell him that I want to play a duet with him? Of course you will be rewarded for your effort.
- - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-02.htm b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-02.htm deleted file mode 100644 index 1acbe31eba..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-02.htm +++ /dev/null @@ -1,3 +0,0 @@ -Musician Barbado:
-Thank you so much! You can find Bard Swan beneath the big tree in the center of the village. Please convince him to honor my request. I am sure you are capable of this. - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-03.htm b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-03.htm deleted file mode 100644 index ed2963a496..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Musician Barbado:
-Thank you for offering, but I am afraid that you lack the necessary skills to undertake this task. It will be too much for you.
-(This quest can be undertaken only by a character of level 15 or above.) - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-04.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-04.html deleted file mode 100644 index 65b0f40759..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Musician Barbado:
-You must persuade Bard Swan to play music with me. You will find him under the big tree in the center of the village. I am sure you are capable of this. - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-05.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-05.html deleted file mode 100644 index ab407e5f4b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30959-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Musician Barbado:
-Thank you so much! At last I get to play a duet with Bard Swan! My dream is coming true! You have made this possible.
-Here! Take this priceless accordion music as a token of my appreciation! - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-01.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-01.html deleted file mode 100644 index 2ddce94d0f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Beer Chest:
-This chest contains beer made by Jonas...
- - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-02.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-02.html deleted file mode 100644 index b565ebf466..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Beer Chest:
-The chest contains black beer. - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-03.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-03.html deleted file mode 100644 index ecfb7f33f6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Beer Chest:
-The key to the chest is broken. - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-04.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-04.html deleted file mode 100644 index b266f3d984..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30960-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Beer Chest:
-The chest is locked. - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-01.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-01.html deleted file mode 100644 index dc4b97e562..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Clothes Chest:
-This chest contains the clothing of Trader Sonia.
- - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-02.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-02.html deleted file mode 100644 index 8526029914..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Clothes Chest:
-Contains magnificent clothing. - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-03.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-03.html deleted file mode 100644 index 1c3cbfbb45..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Clothes Chest:
-The key to the chest is broken. - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-04.html b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-04.html deleted file mode 100644 index 7535e112ce..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/30961-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Clothes Chest:
-The chest is locked. - diff --git a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/Q00364_JovialAccordion.java b/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/Q00364_JovialAccordion.java deleted file mode 100644 index ab1e7549a7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00364_JovialAccordion/Q00364_JovialAccordion.java +++ /dev/null @@ -1,290 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00364_JovialAccordion; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Jovial Accordion (364) - * @author Adry_85 - */ -public final class Q00364_JovialAccordion extends Quest -{ - // NPCs - private static final int SABRIN = 30060; - private static final int XABER = 30075; - private static final int SWAN = 30957; - private static final int BARBADO = 30959; - private static final int BEER_CHEST = 30960; - private static final int CLOTH_CHEST = 30961; - // Items - private static final int STOLEN_BLACK_BEER = 4321; - private static final int STOLEN_EVENT_CLOTHES = 4322; - private static final int CLOTHES_CHEST_KEY = 4323; - private static final int BEER_CHEST_KEY = 4324; - private static final int THEME_OF_THE_FEAST = 4421; - // Misc - private static final int MIN_LEVEL = 15; - - public Q00364_JovialAccordion() - { - super(364, Q00364_JovialAccordion.class.getSimpleName(), "Jovial Accordion"); - addStartNpc(BARBADO); - addTalkId(BARBADO, BEER_CHEST, CLOTH_CHEST, SABRIN, XABER, SWAN); - registerQuestItems(STOLEN_BLACK_BEER, STOLEN_EVENT_CLOTHES, CLOTHES_CHEST_KEY, BEER_CHEST_KEY); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "START": - { - if (player.getLevel() >= MIN_LEVEL) - { - st.startQuest(); - st.setMemoState(1); - htmltext = "30959-02.htm"; - } - else - { - htmltext = "30959-03.htm"; - } - break; - } - case "OPEN_CHEST": - { - if (st.hasQuestItems(BEER_CHEST_KEY)) - { - if (getRandomBoolean()) - { - st.giveItems(STOLEN_BLACK_BEER, 1); - htmltext = "30960-02.html"; - } - else - { - htmltext = "30960-03.html"; - } - st.takeItems(BEER_CHEST_KEY, -1); - } - else - { - htmltext = "30960-04.html"; - } - break; - } - case "OPEN_CLOTH_CHEST": - { - if (st.hasQuestItems(CLOTHES_CHEST_KEY)) - { - if (getRandomBoolean()) - { - st.giveItems(STOLEN_EVENT_CLOTHES, 1); - htmltext = "30961-02.html"; - } - else - { - htmltext = "30961-03.html"; - } - st.takeItems(CLOTHES_CHEST_KEY, -1); - } - else - { - htmltext = "30961-04.html"; - } - break; - } - case "30957-02.html": - { - st.giveItems(CLOTHES_CHEST_KEY, 1); - st.giveItems(BEER_CHEST_KEY, 1); - st.setMemoState(2); - st.setCond(2, true); - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - switch (st.getState()) - { - case State.CREATED: - { - if (npc.getId() == BARBADO) - { - htmltext = "30959-01.htm"; - } - break; - } - case State.STARTED: - { - switch (npc.getId()) - { - case BARBADO: - { - switch (st.getMemoState()) - { - case 1: - case 2: - case 3: - case 4: - { - htmltext = "30959-04.html"; - break; - } - case 5: - { - st.rewardItems(THEME_OF_THE_FEAST, 1); - st.exitQuest(true, true); - htmltext = "30959-05.html"; - break; - } - } - break; - } - case BEER_CHEST: - { - htmltext = "30960-01.html"; - break; - } - case CLOTH_CHEST: - { - htmltext = "30961-01.html"; - break; - } - case SABRIN: - { - if (st.hasQuestItems(STOLEN_BLACK_BEER)) - { - st.takeItems(STOLEN_BLACK_BEER, -1); - htmltext = "30060-01.html"; - if (st.isMemoState(2)) - { - st.setMemoState(3); - } - else if (st.isMemoState(3)) - { - st.setMemoState(4); - } - } - else - { - htmltext = "30060-02.html"; - } - break; - } - case XABER: - { - if (st.hasQuestItems(STOLEN_EVENT_CLOTHES)) - { - st.takeItems(STOLEN_EVENT_CLOTHES, -1); - htmltext = "30075-01.html"; - if (st.isMemoState(2)) - { - st.setMemoState(3); - } - else if (st.isMemoState(3)) - { - st.setMemoState(4); - } - } - else - { - htmltext = "30075-02.html"; - } - break; - } - case SWAN: - { - switch (st.getMemoState()) - { - case 1: - { - htmltext = "30957-01.html"; - break; - } - case 2: - case 3: - { - if (hasAtLeastOneQuestItem(player, BEER_CHEST_KEY, CLOTHES_CHEST_KEY, STOLEN_BLACK_BEER, STOLEN_EVENT_CLOTHES)) - { - htmltext = "30957-03.html"; - } - else if (!st.hasQuestItems(BEER_CHEST_KEY, CLOTHES_CHEST_KEY, STOLEN_BLACK_BEER, STOLEN_EVENT_CLOTHES)) - { - if (st.isMemoState(2)) - { - st.playSound(QuestSound.ITEMSOUND_QUEST_GIVEUP); - st.exitQuest(true, true); - htmltext = "30957-06.html"; - } - else - { - st.setMemoState(5); - st.setCond(3, true); - htmltext = "30957-04.html"; - } - } - break; - } - case 4: - { - if (!st.hasQuestItems(BEER_CHEST_KEY, CLOTHES_CHEST_KEY, STOLEN_BLACK_BEER, STOLEN_EVENT_CLOTHES)) - { - st.setMemoState(5); - st.setCond(3, true); - st.giveAdena(100, true); - htmltext = "30957-05.html"; - } - break; - } - case 5: - { - htmltext = "30957-07.html"; - break; - } - } - break; - } - } - break; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-01.html b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-01.html deleted file mode 100644 index 921a2cd450..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Warehouse Keeper Collob:
-Are you collecting Pirate's Treasure Chests? Bring me one and I'll open it for you. All I ask is that you pay for making the key. It costs 600 adena.
-However, you should know that this chest carries a curse. You must be willing to risk receiving the curse.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-02.html b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-02.html deleted file mode 100644 index 166bd258d6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Keeper Collob:
-Hmm, you no longer have a chest. Please, go get one and come back. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-03.html b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-03.html deleted file mode 100644 index e5de027a07..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Keeper Collob:
-You don't have the adena needed to pay for the key.
-The key that will open the chest costs 600 adena. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-04.html b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-04.html deleted file mode 100644 index 12881175b3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Keeper Collob:
-I'm afraid the curse is having an effect on me. Perhaps if I rest I'll feel better. I'm going to bed. Please come back later.
-Why don't you go to Devil's Isle and collect a few more Treasure Chests? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-05.html b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-05.html deleted file mode 100644 index a1407eb792..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Keeper Collob:
-The chest is open. Are you pleased with its contents? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-06.html b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-06.html deleted file mode 100644 index 3c77786f8b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Keeper Collob:
-The chest is open.
-Oh no!! The curse of the pirates! I can't move...! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-07.html b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-07.html deleted file mode 100644 index 12881175b3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30092-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Keeper Collob:
-I'm afraid the curse is having an effect on me. Perhaps if I rest I'll feel better. I'm going to bed. Please come back later.
-Why don't you go to Devil's Isle and collect a few more Treasure Chests? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-01.htm b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-01.htm deleted file mode 100644 index 6f7b8f4cf5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Warehouse Keeper Randolf:
-Have you heard of the notorious Pirate Captain Zaken? His dogged pursuit of treasure led him to a rocky island now called "Devil's Isle." His increasingly eccentric behavior caused him to lose the confidence of his crew, and they marooned him there.
-In despair, Zaken turned to the forces of darkness, who gave him the power to kill and imprison the souls of all of those who betrayed him. Even now, the souls of those damned warriors roam that barren place.
-I suppose you knew this already. But here is something you probably don't know... It is said that Zaken's treasure was stolen by his betrayers, and they still have it! So what do you think? Will you help me find the treasure?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-02.htm b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-02.htm deleted file mode 100644 index 523a0dbe06..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Keeper Randolf:
-Good choice! We will both benefit from our arrangement...
-Go to Devil's Isle, slay the pirate zombies and their captains, collect their Treasure Chests and bring them to me. You shall be well rewarded. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-03.html b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-03.html deleted file mode 100644 index 2b3f84f3bf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-03.html +++ /dev/null @@ -1,6 +0,0 @@ -Warehouse Keeper Randolf:
-Have you heard of the notorious Pirate Captain Zaken? His dogged pursuit of treasure led him to a rocky island now called "Devil's Isle." His increasingly eccentric behavior caused him to lose the confidence of his crew, and they marooned him there.
-In despair, Zaken turned to the forces of darkness, who gave him the power to kill and imprison the souls of all of those who betrayed him. Even now, the souls of those damned warriors roam that barren place.
-There is more you should know, but you are not yet ready.
-(This quest may only be undertaken by a character of level 39 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-04.html b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-04.html deleted file mode 100644 index f5778ab982..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-04.html +++ /dev/null @@ -1,7 +0,0 @@ -Warehouse Keeper Randolf:
-Good job! You shall have your reward.
-I hope you don't feel that you've been cheated. Not all the chests hold treasure, but the key required to open them is very expensive. Not to mention the magical scroll I must buy to protect against the horrible pirate curse that these chests sometimes impart. Truly, I take a terrible risk each time I open one. This is not a highly profitable business.
-You should be happy to get your reward regardless of whether or not the chests hold treasure. I hope we can continue to do business together. Don't be fooled by Collob. He will probably offer to open the chests for you. His lack of experience could lead to terrible consequences...
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-05.html b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-05.html deleted file mode 100644 index f2fd7eefc0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Keeper Randolf:
-Oh, well... Too bad. You won't be easily replaced. I won't try to talk you out of it, you must have your own reasons.
-Perhaps we can work together again in the future. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-06.html b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-06.html deleted file mode 100644 index cbd7958cb9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Keeper Randolf:
-Go to Devil's Isle, slay the pirate zombies and their captains, and bring back their Treasure Chests. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-07.html b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-07.html deleted file mode 100644 index 3a313145c3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/30095-07.html +++ /dev/null @@ -1,5 +0,0 @@ -Warehouse Keeper Randolf:
-Go to Devil's Isle, slay the pirate zombies and their captains, collect their Treasure Chests and bring them to me. You will be well rewarded.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/Q00365_DevilsLegacy.java b/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/Q00365_DevilsLegacy.java deleted file mode 100644 index e42d77e6e3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00365_DevilsLegacy/Q00365_DevilsLegacy.java +++ /dev/null @@ -1,257 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00365_DevilsLegacy; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.SkillHolder; -import com.l2jserver.gameserver.model.itemcontainer.Inventory; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Devil's Legacy (365) - * @author Adry_85 - */ -public final class Q00365_DevilsLegacy extends Quest -{ - // NPCs - private static final int COLLOB = 30092; - private static final int RANDOLF = 30095; - // Item - private static final int PIRATES_TREASURE_CHEST = 5873; - // Rewards - private static final int ENCHANT_WEAPON_C = 951; - private static final int ENCHANT_ARMOR_C = 952; - private static final int ENCHANT_WEAPON_D = 955; - private static final int ENCHANT_ARMOR_D = 956; - private static final int THREAD = 1868; - private static final int ANIMAL_BONE = 1872; - private static final int COKES = 1879; - private static final int STEEL = 1880; - private static final int COARSE_BONE_POWDER = 1881; - private static final int LEATHER = 1882; - private static final int CORD = 1884; - // Misc - private static final int MIN_LEVEL = 39; - // Skill - private static SkillHolder POISON = new SkillHolder(4035, 2); - // Mobs - private static final Map MOBS = new HashMap<>(); - static - { - MOBS.put(20836, 0.47); // pirates_zombie - MOBS.put(20845, 0.40); // pirates_zombie_captain - MOBS.put(21629, 0.40); // pirates_zombie_captain_1 - MOBS.put(21630, 0.40); // pirates_zombie_captain_2 - } - - public Q00365_DevilsLegacy() - { - super(365, Q00365_DevilsLegacy.class.getSimpleName(), "Devil's Legacy"); - addStartNpc(RANDOLF); - addTalkId(RANDOLF, COLLOB); - addKillId(MOBS.keySet()); - registerQuestItems(PIRATES_TREASURE_CHEST); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - String htmltext = null; - if (qs == null) - { - return htmltext; - } - - switch (event) - { - case "30095-02.htm": - { - qs.startQuest(); - qs.setMemoState(1); - htmltext = event; - break; - } - case "30095-05.html": - { - qs.exitQuest(true, true); - htmltext = event; - break; - } - case "30095-06.html": - { - htmltext = event; - break; - } - case "REWARD": - { - if (!qs.isMemoState(1)) - { - htmltext = "30092-04.html"; - } - else if (!hasQuestItems(player, PIRATES_TREASURE_CHEST)) - { - htmltext = "30092-02.html"; - } - else if (player.getAdena() < 600) - { - htmltext = "30092-03.html"; - } - else - { - final int itemId; - final int chance; - if (getRandom(100) < 80) - { - chance = getRandom(100); - if (chance < 1) - { - itemId = ENCHANT_WEAPON_D; - } - else if (chance < 4) - { - itemId = ENCHANT_ARMOR_D; - } - else if (chance < 36) - { - itemId = THREAD; - } - else if (chance < 68) - { - itemId = CORD; - } - else - { - itemId = ANIMAL_BONE; - } - htmltext = "30092-05.html"; - } - else - { - chance = getRandom(1000); - if (chance < 10) - { - itemId = ENCHANT_WEAPON_C; - } - else if (chance < 40) - { - itemId = ENCHANT_ARMOR_C; - } - else if (chance < 60) - { - itemId = ENCHANT_WEAPON_D; - } - else if (chance < 260) - { - itemId = ENCHANT_ARMOR_D; - } - else if (chance < 445) - { - itemId = COKES; - } - else if (chance < 630) - { - itemId = STEEL; - } - else if (chance < 815) - { - itemId = LEATHER; - } - else - { - itemId = COARSE_BONE_POWDER; - } - npc.setTarget(player); - npc.doCast(POISON.getSkill()); - npc.setCurrentMp(npc.getMaxMp()); - qs.setMemoState(2); - htmltext = "30092-06.html"; - } - takeItems(player, PIRATES_TREASURE_CHEST, 1); - takeItems(player, Inventory.ADENA_ID, 600); - rewardItems(player, itemId, 1); - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(player, -1, 3, npc); - if (qs != null) - { - giveItemRandomly(qs.getPlayer(), npc, PIRATES_TREASURE_CHEST, 1, 0, MOBS.get(npc.getId()), true); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case RANDOLF: - { - if (qs.isCreated()) - { - htmltext = ((player.getLevel() >= MIN_LEVEL) ? "30095-01.htm" : "30095-03.html"); - } - else if (qs.isStarted()) - { - if (hasQuestItems(player, PIRATES_TREASURE_CHEST)) - { - final long chestCount = getQuestItemsCount(player, PIRATES_TREASURE_CHEST); - giveAdena(player, (chestCount * 400) + 19800, true); - takeItems(player, PIRATES_TREASURE_CHEST, -1); - htmltext = "30095-04.html"; - } - else - { - htmltext = "30095-07.html"; - } - } - break; - } - case COLLOB: - { - if (qs.isStarted()) - { - htmltext = (qs.isMemoState(1) ? "30092-01.html" : "30092-07.html"); - } - break; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-01.htm b/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-01.htm deleted file mode 100644 index 082b6faf71..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Magister Dieter:
-Have you ever been to Devil's Isle? It is the home of the devil Zaken. Of course he is not alone. There are all manner of nasty beasts there with him.
-Deep in the interior of the island you will find living dolls with silvery hair that seems to be bathed in perpetual moonlight. Their hair intrigues me. I must get my hands on some of that magical stuff! The legendary power of just a few strands... Oh, well. Enough of my ramblings.
-Will you do it? Will you bring back some of their hair for me? You will be handsomely rewarded!
- - diff --git a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-02.htm b/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-02.htm deleted file mode 100644 index 7cc050069b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-02.htm +++ /dev/null @@ -1,3 +0,0 @@ -Magister Dieter:
-Great news. Now, please go to Devil's Isle and slay Sairon, Sairon's Doll and Sairon's Puppet. But don't forget to bring back Sairon's Silver Hair. You will be amply rewarded. - diff --git a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-03.html b/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-03.html deleted file mode 100644 index b40f534eb8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Dieter:
-Have you ever been to Devil's Isle? It is the home of the devil Zaken. Of course he is not alone. There are all manner of nasty beasts there with him.
-Deep in the interior of the island you will find living dolls with silvery hair that seems to be bathed in perpetual moonlight. Their hair intrigues me. I must get my hands on some of that magical stuff! But I am afraid you are not yet up to this task. Come back when you think you have become stronger.
-(This quest can only be undertaken by a character of level 48 or higher.) - diff --git a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-04.html b/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-04.html deleted file mode 100644 index 57a6001ea0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-04.html +++ /dev/null @@ -1,7 +0,0 @@ -Magister Dieter:
-You have done well! At last, I can...
-Ah, yes, your pay. Please bring me some more hair! The more the better!
-Please don't tell anyone I'm collecting this stuff...
- - - diff --git a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-05.html b/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-05.html deleted file mode 100644 index eb0789cfc6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Dieter:
-That's too bad. I was hoping to collect more hair. If you change your mind, please come back and see me. - diff --git a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-06.html b/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-06.html deleted file mode 100644 index d02133d51e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Dieter:
-Go to Devil's Isle, slay Sairon, Sairon's doll and Sairon's puppet and bring back their hair. - diff --git a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-07.html b/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-07.html deleted file mode 100644 index d0f3a2b18a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/30111-07.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Dieter:
-As I said, you must go to Devil's Isle, slay Sairon, Sairon's doll and Sairon's puppet and bring back Sairon's Silver Hair. You will be amply rewarded.
- - - diff --git a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/Q00366_SilverHairedShaman.java b/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/Q00366_SilverHairedShaman.java deleted file mode 100644 index 8b6d3189bc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/Q00366_SilverHairedShaman.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00366_SilverHairedShaman; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Silver Haired Shaman (366) - * @author Adry_85, jurchiks - */ -public final class Q00366_SilverHairedShaman extends Quest -{ - // NPC - private static final int DIETER = 30111; - // Item - private static final int SAIRONS_SILVER_HAIR = 5874; - // Misc - private static final int MIN_LEVEL = 48; - // Mobs - private static final Map MOBS = new HashMap<>(); - static - { - MOBS.put(20986, 80); // saitnn - MOBS.put(20987, 73); // saitnn_doll - MOBS.put(20988, 80); // saitnn_puppet - } - - public Q00366_SilverHairedShaman() - { - super(366, Q00366_SilverHairedShaman.class.getSimpleName(), "Silver Haired Shaman"); - addStartNpc(DIETER); - addTalkId(DIETER); - addKillId(MOBS.keySet()); - registerQuestItems(SAIRONS_SILVER_HAIR); - } - - @Override - public boolean checkPartyMember(L2PcInstance member, L2Npc npc) - { - final QuestState qs = getQuestState(member, false); - return ((qs != null) && qs.isStarted()); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30111-02.htm": - { - st.startQuest(); - htmltext = event; - break; - } - case "30111-05.html": - { - st.exitQuest(true, true); - htmltext = event; - break; - } - case "30111-06.html": - { - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - if (getRandom(100) < MOBS.get(npc.getId())) - { - L2PcInstance luckyPlayer = getRandomPartyMember(player, npc); - if (luckyPlayer != null) - { - giveItemRandomly(luckyPlayer, npc, SAIRONS_SILVER_HAIR, 1, 0, 1.0, true); - } - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st.isCreated()) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30111-01.htm" : "30111-03.html"; - } - else if (st.isStarted()) - { - if (hasQuestItems(player, SAIRONS_SILVER_HAIR)) - { - final long itemCount = getQuestItemsCount(player, SAIRONS_SILVER_HAIR); - giveAdena(player, (itemCount * 500) + 29000, true); - takeItems(player, SAIRONS_SILVER_HAIR, -1); - htmltext = "30111-04.html"; - } - else - { - htmltext = "30111-07.html"; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-01.htm b/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-01.htm deleted file mode 100644 index 9141d1ee77..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Researcher Lorain:
-By any chance are you headed to the Cruma Tower? I need some help with something. I believe I've discovered the secret source of energy used by the ancient Titans, but I must conduct several more experiments to confirm my findings.
- - diff --git a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-02.htm b/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-02.htm deleted file mode 100644 index 2bb1ce0881..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Researcher Lorain:
-The last time I ventured into the deepest part of the dungeon I encountered a monster they call the catherok. His attack caused my body to start tingling all over, followed by complete paralysis! Luckily, my colleagues saved me from certain death! When I gathered my wits, I noticed that an ancient relic had been activated. It gave off an amazing light... At that moment, it came to me! The sting of the catherok contained a power source that actually activated ancient relics!
-Take this relic and entice a catherok to attack. It will become activated. When it reaches its brightest, bring it back to me. Heed my words, you must never confront the catherok alone. - diff --git a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-03.html b/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-03.html deleted file mode 100644 index 8b64c79161..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Researcher Lorain:
-I can't bring myself to sacrifice your life for the sake of my research. Come back when you're older.
-(This quest may only be undertaken by a character of level 37 or above.) - diff --git a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-04.html b/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-04.html deleted file mode 100644 index 39cb16844f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Researcher Lorain:
-This relic could use a little more exposure to the catherok. It is not yet useful for my research. Please do it again.
- - - diff --git a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-05.html b/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-05.html deleted file mode 100644 index e563f23b31..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Researcher Lorain:
-Keep up the good work. - diff --git a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-06.html b/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-06.html deleted file mode 100644 index f509ad7fa1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Researcher Lorain:
-What a bummer! I thought you were an adventurer! - diff --git a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-07.html b/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-07.html deleted file mode 100644 index bdb21ee10b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Researcher Lorain:
-Dammit! You've destroyed the relic!
-If you can't handle a simple task like this, how do you expect to ever be a great adventurer? You have one more chance. Don't screw it up! - diff --git a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-08.html b/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-08.html deleted file mode 100644 index dbf6997c92..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-08.html +++ /dev/null @@ -1,5 +0,0 @@ -Researcher Lorain:
-You've done it! Did you feel that amazing sensation?
Don't look at me like that... You know you love it!
- - - diff --git a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-09.html b/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-09.html deleted file mode 100644 index 206b71febc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/30673-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Researcher Lorain:
-I knew you couldn't refuse! I'll never forget the first time I felt that sensation... It's addictive, isn't it? - diff --git a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/Q00367_ElectrifyingRecharge.java b/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/Q00367_ElectrifyingRecharge.java deleted file mode 100644 index 23967af036..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/Q00367_ElectrifyingRecharge.java +++ /dev/null @@ -1,265 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00367_ElectrifyingRecharge; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.SkillHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.skills.Skill; - -/** - * Electrifying Recharge! (367) - * @author Adry_85, jurchiks - */ -public final class Q00367_ElectrifyingRecharge extends Quest -{ - // NPC - private static final int LORAIN = 30673; - // Monster - private static final int CATHEROK = 21035; - // Items - private static final int TITAN_LAMP1 = 5875; - private static final int TITAN_LAMP2 = 5876; - private static final int TITAN_LAMP3 = 5877; - private static final int TITAN_LAMP4 = 5878; - private static final int TITAN_LAMP5 = 5879; - private static final int BROKEN_TITAN_LAMP = 5880; - // Misc - private static final int MIN_LEVEL = 37; - // Skill - private static final Skill NPC_THUNDER_STORM = new SkillHolder(4072, 4).getSkill(); - - public Q00367_ElectrifyingRecharge() - { - super(367, Q00367_ElectrifyingRecharge.class.getSimpleName(), "Electrifying Recharge!"); - addStartNpc(LORAIN); - addTalkId(LORAIN); - addAttackId(CATHEROK); - registerQuestItems(TITAN_LAMP1, TITAN_LAMP2, TITAN_LAMP3, TITAN_LAMP4, TITAN_LAMP5, BROKEN_TITAN_LAMP); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30673-02.htm": - { - st.startQuest(); - giveItems(player, TITAN_LAMP1, 1); - htmltext = event; - break; - } - case "30673-05.html": - { - htmltext = event; - break; - } - case "30673-06.html": - { - st.exitQuest(true, true); - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon) - { - if (npc.isScriptValue(367)) - { - return super.onAttack(npc, attacker, damage, isSummon); - } - - QuestState qs = getQuestState(attacker, false); - if ((qs == null) || !qs.isStarted()) - { - return super.onAttack(npc, attacker, damage, isSummon); - } - - npc.setScriptValue(367); - - if ((NPC_THUNDER_STORM != null) // - && (NPC_THUNDER_STORM.getMpConsume() < npc.getCurrentMp()) // has enough MP - && (NPC_THUNDER_STORM.getHpConsume() < npc.getCurrentHp()) // has enough HP - && (npc.getSkillRemainingReuseTime(NPC_THUNDER_STORM.getReuseHashCode()) <= 0)) // no reuse delay - { - npc.doCast(NPC_THUNDER_STORM, attacker, null); - } - - final L2PcInstance luckyPlayer = getRandomPartyMember(attacker, npc); - if (luckyPlayer == null) - { - return super.onAttack(npc, attacker, damage, isSummon); - } - qs = getQuestState(luckyPlayer, false); - - if ((qs != null) && qs.isStarted() && !hasQuestItems(luckyPlayer, TITAN_LAMP5)) - { - final int random = getRandom(37); - if (random == 0) - { - if (hasQuestItems(luckyPlayer, TITAN_LAMP1)) - { - giveItems(luckyPlayer, TITAN_LAMP2, 1); - takeItems(luckyPlayer, TITAN_LAMP1, -1); - playSound(luckyPlayer, QuestSound.ITEMSOUND_QUEST_MIDDLE); - } - else if (hasQuestItems(luckyPlayer, TITAN_LAMP2)) - { - giveItems(luckyPlayer, TITAN_LAMP3, 1); - takeItems(luckyPlayer, TITAN_LAMP2, -1); - playSound(luckyPlayer, QuestSound.ITEMSOUND_QUEST_MIDDLE); - } - else if (hasQuestItems(luckyPlayer, TITAN_LAMP3)) - { - giveItems(luckyPlayer, TITAN_LAMP4, 1); - takeItems(luckyPlayer, TITAN_LAMP3, -1); - playSound(luckyPlayer, QuestSound.ITEMSOUND_QUEST_MIDDLE); - } - else if (hasQuestItems(luckyPlayer, TITAN_LAMP4)) - { - giveItems(luckyPlayer, TITAN_LAMP5, 1); - takeItems(luckyPlayer, TITAN_LAMP4, -1); - luckyPlayer.getQuestState(getName()).setCond(2, true); - } - } - else if ((random == 1) && !hasQuestItems(luckyPlayer, BROKEN_TITAN_LAMP)) - { - giveItems(luckyPlayer, BROKEN_TITAN_LAMP, 1); - takeItems(luckyPlayer, -1, TITAN_LAMP1, TITAN_LAMP2, TITAN_LAMP3, TITAN_LAMP4); - playSound(luckyPlayer, QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - return super.onAttack(npc, attacker, damage, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st.isCreated()) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30673-01.htm" : "30673-03.html"; - } - else if (st.isStarted()) - { - if (!hasAtLeastOneQuestItem(player, TITAN_LAMP5, BROKEN_TITAN_LAMP)) - { - htmltext = "30673-04.html"; - } - else if (hasQuestItems(player, BROKEN_TITAN_LAMP)) - { - giveItems(player, TITAN_LAMP1, 1); - takeItems(player, BROKEN_TITAN_LAMP, -1); - htmltext = "30673-07.html"; - } - else if (hasQuestItems(player, TITAN_LAMP5)) - { - final int itemId; - switch (getRandom(14)) - { - case 0: - { - itemId = 4553; // Greater Dye of STR - break; - } - case 1: - { - itemId = 4554; // Greater Dye of STR - break; - } - case 2: - { - itemId = 4555; // Greater Dye of CON - break; - } - case 3: - { - itemId = 4556; // Greater Dye of CON - break; - } - case 4: - { - itemId = 4557; // Greater Dye of DEX - break; - } - case 5: - { - itemId = 4558; // Greater Dye of DEX - break; - } - case 6: - { - itemId = 4559; // Greater Dye of INT - break; - } - case 7: - { - itemId = 4560; // Greater Dye of INT - break; - } - case 8: - { - itemId = 4561; // Greater Dye of MEN - break; - } - case 9: - { - itemId = 4562; // Greater Dye of MEN - break; - } - case 10: - { - itemId = 4563; // Greater Dye of WIT - break; - } - case 11: - { - itemId = 4564; // Greater Dye of WIT - break; - } - default: - { - itemId = 4445; // Dye of STR - break; - } - } - rewardItems(player, itemId, 1); - takeItems(player, TITAN_LAMP5, -1); - giveItems(player, TITAN_LAMP1, 1); - htmltext = "30673-08.html"; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-01.htm b/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-01.htm deleted file mode 100644 index ecde8346e8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-01.htm +++ /dev/null @@ -1,7 +0,0 @@ -Priestess Restina:
-Have you heard of the Garden of Eva? You may occasionally find the goddess herself resting there.
-She doesn't like to be disturbed, so her garden is in the deepest part of the sea, with entry gained only through an elaborate labyrinth.
-Recently, some who wish to harm her have invaded her sanctuary. She's not there at the moment, and we, her priests and guards, are trying our best to drive out the invaders. However, this task is proving more than we can handle.
-We're enlisting the help of outsiders to defeat them. Will you help us?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-02.htm b/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-02.htm deleted file mode 100644 index 64edf64ddb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Priestess Restina:
-Thank you. You should know that it is forbidden for outsiders to enter the Garden of Eva. We are breaking the rules, but these are desperate times.
-Go to the Garden of Eva and slay the blade stakato, the blade stakato worker, the blade stakato warrior and the blade stakato drone. As proof of your victory, bring back their fangs. You'll be well rewarded for your efforts. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-03.html b/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-03.html deleted file mode 100644 index 4cfa43af88..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-03.html +++ /dev/null @@ -1,7 +0,0 @@ -Priestess Restina:
-Have you heard of the Garden of Eva? You may occasionally find the goddess herself resting there.
-She doesn't like to be disturbed, so her garden is in the deepest part of the sea, with entry gained only through an elaborate labyrinth.
-Recently, some who wish to harm her have invaded her sanctuary. She's not there at the moment, and we, her priests and guards, are trying our best to drive out the invaders. However, this task is proving more than we can handle.
-We need help desperately, but I'm afraid you're not yet up to the task.
-(This quest may only be undertaken by a character of level 36 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-04.html b/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-04.html deleted file mode 100644 index bed775a022..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-04.html +++ /dev/null @@ -1,6 +0,0 @@ -Priestess Restina:
-Thank you for helping us. As promised, you shall receive a reward commensurate with your performance.
-Your brave efforts have spelled the doom of all who have invaded the Garden of Eva! Will you stay and help us finish them off?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-05.html b/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-05.html deleted file mode 100644 index 0dc882c410..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Priestess Restina:
-I'm sorry to hear that. I'm sure you have your own reasons. Thank you for your help.
May the blessing of Eva be with you always... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-06.html b/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-06.html deleted file mode 100644 index 68190d5cb8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Priestess Restina:
-I knew I could count on you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-07.html b/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-07.html deleted file mode 100644 index 4d74b5a085..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/30926-07.html +++ /dev/null @@ -1,5 +0,0 @@ -Priestess Restina:
-As I said, go to the Garden of Eva and slay the blade stakato, the blade stakato worker, the blade stakato warrior and the blade stakato drone. As proof of your victory bring back their fangs. You'll be well rewarded for your efforts.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/Q00368_TrespassingIntoTheHolyGround.java b/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/Q00368_TrespassingIntoTheHolyGround.java deleted file mode 100644 index 486d734650..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/Q00368_TrespassingIntoTheHolyGround.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00368_TrespassingIntoTheHolyGround; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Trespassing into the Holy Ground (368) - * @author Adry_85 - */ -public final class Q00368_TrespassingIntoTheHolyGround extends Quest -{ - // NPC - private static final int RESTINA = 30926; - // Item - private static final int BLADE_STAKATO_FANG = 5881; - // Misc - private static final int MIN_LEVEL = 36; - // Mobs - private static final Map MOBS = new HashMap<>(); - static - { - MOBS.put(20794, 0.60); // blade_stakato - MOBS.put(20795, 0.57); // blade_stakato_worker - MOBS.put(20796, 0.61); // blade_stakato_soldier - MOBS.put(20797, 0.93); // blade_stakato_drone - } - - public Q00368_TrespassingIntoTheHolyGround() - { - super(368, Q00368_TrespassingIntoTheHolyGround.class.getSimpleName(), "Trespassing into the Holy Ground"); - addStartNpc(RESTINA); - addTalkId(RESTINA); - addKillId(MOBS.keySet()); - registerQuestItems(BLADE_STAKATO_FANG); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30926-02.htm": - { - st.startQuest(); - htmltext = event; - break; - } - case "30926-05.html": - { - st.exitQuest(true, true); - htmltext = event; - break; - } - case "30926-06.html": - { - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final int i; - switch (npc.getId()) - { - case 20795: - case 20797: - { - i = 1; - break; - } - default: - { - i = 3; - break; - } - } - - final QuestState st = getRandomPartyMemberState(player, -1, i, npc); - if (st != null) - { - st.giveItemRandomly(npc, BLADE_STAKATO_FANG, 1, 0, MOBS.get(npc.getId()), true); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - - if (st.isCreated()) - { - htmltext = ((player.getLevel() >= MIN_LEVEL) ? "30926-01.htm" : "30926-03.html"); - } - else if (st.isStarted()) - { - if (hasQuestItems(player, BLADE_STAKATO_FANG)) - { - final long count = getQuestItemsCount(player, BLADE_STAKATO_FANG); - final long bonus = (count >= 10 ? 9450 : 2000); - giveAdena(player, (count * 250) + bonus, true); - takeItems(player, BLADE_STAKATO_FANG, -1); - htmltext = "30926-04.html"; - } - else - { - htmltext = "30926-07.html"; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-01.htm b/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-01.htm deleted file mode 100644 index a8a753decf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Magister Nell:
-Do you wish to hear my story? Sometime ago, I met a Elder. He told me that the Forgotten Temple is related to the Ruins on Talking Island.
-More than anything else, this glittering Flare Shard and Freezing Shard are the proof! They are fragments of elemental stone found in the Ruins of Talking Island and the Forgotten Temple! Before they were broken, these two elemental stones must have had mutual resonance.
-Would you help me? Please go to the temple and bring me more of these gemstones.
- - diff --git a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-02.htm b/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-02.htm deleted file mode 100644 index 2395e297b8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Magister Nell:
-This won't be easy. The spirits that live in the Forgotten Temple are very strong. You will need help. You can get
-Flare Shards from lakin salamanders, salamander rowins and death fires. Freezing Shards can be obtained from the lakin undine, the rowin undine and the roxide. Please bring me 50 of each type. - diff --git a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-03.html b/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-03.html deleted file mode 100644 index 91aee5fc56..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Nell:
-Do you wish to hear my story? Once I met a Elder. He convinced me that the Forgotten Temple is related to the Ruins on Talking Island.
-This glittering Flare Shard and Freezing Shard are proof! They are fragments from the Ruins of Talking Island and the Forgotten Temple! Before they were broken, these two elemental stones had mutual resonance. I'm sure of it! I'm desperate to get my hands on more of these fragments... If you know anyone strong enough to enter the Forgotten Temple and bring me some of these stones, please ask them to come and see me at once!
-(This quest may only be undertaken by a character of level 25 or above.) - diff --git a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-04.html b/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-04.html deleted file mode 100644 index 0a3987ec64..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-04.html +++ /dev/null @@ -1,6 +0,0 @@ -Magister Nell:
-Ah, you have done as I asked. I feel the strong pull of their magic power. Here is your reward. Would you be interested in working with me some more? I still need many more of them... I'll pay you generously for your work...
- - - - diff --git a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-05.html b/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-05.html deleted file mode 100644 index 434eacdac5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-05.html +++ /dev/null @@ -1,8 +0,0 @@ -Magister Nell:
-Well, if I only needed them for my research, these would be enough. But a Elder taught me all about these gemstones.
-He said that he needed them, and asked me to collect the fragments for him.
At that time the trader Katerina of Talking Island was there. She is also collecting gemstones.
-When she gives the gemstones to the Elder, I also want to give at least the same quantity to him. You see, I am a magister... I can't be outdone by a trader like Katerina. Do you understand?
-Please do this for me. Collect more gemstones so that I can give them to the Elder.
- - - diff --git a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-06.html b/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-06.html deleted file mode 100644 index 088a13fd5d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Nell:
-Thank you! Go to the Forgotten Temple with your colleagues. Slay the roxide, the lakin undine, and the rowin undine to obtain Freezing Shards. Slay the death fire, the lakin salamander, and the salamander rowin to obtain Flare Shards.
I'd like to give you at least 5 restored Spirit Ores, so please bring me 200 fragments of each kind. You will be well rewarded. - diff --git a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-07.html b/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-07.html deleted file mode 100644 index 9673af2e50..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Nell:
-Oh, too bad. Very well. I'll get someone else to help me. I appreciate your help up to now. I will take care of the remaining shards. Leave them here. If you change your mind, please come back and see me. Okay? - diff --git a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-08.html b/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-08.html deleted file mode 100644 index f127610a02..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Nell:
-Ah, the shiny black hair... eyes that sparkle like gemstones... If I could only hear the voice once more...
Why are you still here? Please hurry and collect 50 Flare Shards and 50 Freezing Shards for my research. You can find them by slaying salamanders, undines, death fires and roxides in the Forgotten Temple. - diff --git a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-09.html b/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-09.html deleted file mode 100644 index d20f3071ed..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-09.html +++ /dev/null @@ -1,6 +0,0 @@ -Magister Nell:
-Thank you for your help. Would you be interested in working some more? I still need many more of these... I'll give you a very generous reward!
- - - - diff --git a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-10.html b/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-10.html deleted file mode 100644 index 676dc8efe0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-10.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Nell:
-Amazing! You've brought them! They must have been very heavy! Please put them down here. Be very, very careful!
-Thank you for your hard work. Here is your reward. These fragments are kind of small. Now, I can meet Les with confidence. He contacted me some time ago...
-Anyway, thank you for your help. If possible, please come and help me again sometime, and bring some friends to help you! Take care! - diff --git a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-11.html b/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-11.html deleted file mode 100644 index 9118def50b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/30376-11.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Nell:
-Ah, what a profile! Like a classic statue... And that voice! Like an arrow piercing my heart...Where is he now? I wonder what he's doing?
-I must give him some Spirit Ore! Please, bring me 200 Flare Shards and 200 Freezing Shards!
-You can get them from salamanders, undines, death fires and roxides, deep within the Forgotten Temple! Please, hurry! Time is short! - diff --git a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/Q00369_CollectorOfJewels.java b/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/Q00369_CollectorOfJewels.java deleted file mode 100644 index df4fdcbf4c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/Q00369_CollectorOfJewels.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00369_CollectorOfJewels; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.QuestItemHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Collector of Jewels (369) - * @author Adry_85 - */ -public final class Q00369_CollectorOfJewels extends Quest -{ - // NPC - private static final int NELL = 30376; - // Items - private static final int FLARE_SHARD = 5882; - private static final int FREEZING_SHARD = 5883; - // Misc - private static final int MIN_LEVEL = 25; - // Mobs - private static final Map MOBS_DROP_CHANCES = new HashMap<>(); - static - { - MOBS_DROP_CHANCES.put(20609, new QuestItemHolder(FLARE_SHARD, 75, 1)); // salamander_lakin - MOBS_DROP_CHANCES.put(20612, new QuestItemHolder(FLARE_SHARD, 91, 1)); // salamander_rowin - MOBS_DROP_CHANCES.put(20749, new QuestItemHolder(FLARE_SHARD, 100, 2)); // death_fire - MOBS_DROP_CHANCES.put(20616, new QuestItemHolder(FREEZING_SHARD, 81, 1)); // undine_lakin - MOBS_DROP_CHANCES.put(20619, new QuestItemHolder(FREEZING_SHARD, 87, 1)); // undine_rowin - MOBS_DROP_CHANCES.put(20747, new QuestItemHolder(FREEZING_SHARD, 100, 2)); // roxide - } - - public Q00369_CollectorOfJewels() - { - super(369, Q00369_CollectorOfJewels.class.getSimpleName(), "Collector of Jewels"); - addStartNpc(NELL); - addTalkId(NELL); - addKillId(MOBS_DROP_CHANCES.keySet()); - registerQuestItems(FLARE_SHARD, FREEZING_SHARD); - } - - @Override - public boolean checkPartyMember(L2PcInstance member, L2Npc npc) - { - final QuestState st = getQuestState(member, false); - return ((st != null) && (st.isMemoState(1) || st.isMemoState(3))); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30376-02.htm": - { - st.startQuest(); - st.setMemoState(1); - htmltext = event; - break; - } - case "30376-05.html": - { - htmltext = event; - break; - } - case "30376-06.html": - { - if (st.isMemoState(2)) - { - st.setMemoState(3); - st.setCond(3, true); - htmltext = event; - } - break; - } - case "30376-07.html": - { - st.exitQuest(true, true); - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestItemHolder item = MOBS_DROP_CHANCES.get(npc.getId()); - if (getRandom(100) < item.getChance()) - { - L2PcInstance luckyPlayer = getRandomPartyMember(player, npc); - if (luckyPlayer != null) - { - final QuestState st = getQuestState(luckyPlayer, false); - final int itemCount = (st.isMemoState(1) ? 50 : 200); - final int cond = (st.isMemoState(1) ? 2 : 4); - if (giveItemRandomly(luckyPlayer, npc, item.getId(), item.getCount(), itemCount, 1.0, true) // - && (getQuestItemsCount(luckyPlayer, FLARE_SHARD, FREEZING_SHARD) >= (itemCount * 2))) - { - st.setCond(cond); - } - } - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st.isCreated()) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30376-01.htm" : "30376-03.html"; - } - else if (st.isStarted()) - { - switch (st.getMemoState()) - { - case 1: - { - if (getQuestItemsCount(player, FLARE_SHARD, FREEZING_SHARD) >= 100) - { - giveAdena(player, 31810, true); - takeItems(player, -1, FLARE_SHARD, FREEZING_SHARD); - st.setMemoState(2); - htmltext = "30376-04.html"; - } - else - { - htmltext = "30376-08.html"; - } - break; - } - case 2: - { - htmltext = "30376-09.html"; - break; - } - case 3: - { - if (getQuestItemsCount(player, FLARE_SHARD, FREEZING_SHARD) >= 400) - { - giveAdena(player, 84415, true); - takeItems(player, -1, FLARE_SHARD, FREEZING_SHARD); - st.exitQuest(true, true); - htmltext = "30376-10.html"; - } - else - { - htmltext = "30376-11.html"; - } - break; - } - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-01.htm b/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-01.htm deleted file mode 100644 index 8895e06a41..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-01.htm +++ /dev/null @@ -1,7 +0,0 @@ -Elder Casian:
-Did you know that at one time this barren wasteland was one of the most fertile places in Aden? For centuries farmers sowed their seeds and harvested abundant crops here. Ah, yes, those were the days...
-But then that devil Beleth and his minions arrived. We had to come up with a resolution quickly. We were compelled to at last open the forbidden spellbook...
-For two days and nights fire rained down on us and dark magic swept the land like a whirlwind... It wasn't at all what we'd anticipated...
-I couldn't bear to stay in this ruined place, so I wandered the world for many years. But now I find myself drawn back, hoping to somehow restore this land to its former beauty. I shan't be able to do this alone...
- - diff --git a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-02.htm b/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-02.htm deleted file mode 100644 index d7fba80fc0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Elder Casian:
-The magic we unwittingly unleashed came from "Kranvel's Spellbook", one of the forbidden tomes of the Ivory Tower. Its fearsome power sucked the magic from all living organisms in the area, and then unleashed it all back upon us with a vengeance!
-Poor Spellsinger Diena saw the whole thing and fell into a deep state of shock. As she shed blood and tears, she destroyed the book and scattered it to the wind... She was determined that no one should ever use such evil magic again... We couldn't stop her! We all felt as if we were in a terrible nightmare, and just stared blankly at her...
-But now we know that that spellbook is the key to the restoration of this place. Please find the pieces of the book that were scattered to the wind.
- - diff --git a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-03.htm b/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-03.htm deleted file mode 100644 index 1997598414..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Elder Casian:
-Ironically, the deformed beasts around us hold the clues to finding the legacy of Kranvel. Giant ants are known to pick up anything they find and take it to their nests. It is said that they have collected a great number of ancient relics and taken them to their nest in the maze-like caves beneath the wasteland.
-You will most likely find the pieces of "Kranvel's Spellbook" in the Ant Nest. You mustn't attempt this alone! Take some reliable colleagues along with you.
- - diff --git a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-04.htm b/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-04.htm deleted file mode 100644 index f0199f5ec5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-04.htm +++ /dev/null @@ -1,6 +0,0 @@ -Elder Casian:
-In order to obtain the pieces of the spellbook, you must conquer the ant recruits, ant patrols, ant guards, the noble ant and the noble ant leader.
-Check carefully any scraps of paper you come across. The pieces of "Kranvel's Spellbook" should be easy to identify.
-The spellbook has four chapters: the Chapter of Fire, the Chapter of Water, the Chapter of Wind and the Chapter of Earth. The contents will only be discernible if you recover all four chapters.
-This is a challenging task, but I think you are ready for it. May the divine blessing be with you... - diff --git a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-05.html b/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-05.html deleted file mode 100644 index b8f6723d1c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-05.html +++ /dev/null @@ -1,8 +0,0 @@ -Elder Casian:
-Did you know that at one time this barren wasteland was one of the most fertile places in Aden? For centuries, farmers sowed their seeds and harvested their abundant crops here. Ah, yes, those were the days...
-But then that devil Beleth and his minions arrived. We had to act quickly. We were compelled to at last open the forbidden spellbook...
-For two days and nights fire rained down on us and dark magic swept over the land like a whirlwind... It wasn't at all what we'd anticipated...
-When it was over, this is all that was left... A dusty wasteland inhabited by weird-looking freaks...
-Some day, hopefully, we shall find a way to change this place back into the verdant farmland it once was... I hope we can count on you when that time comes.
-(This quest may only be undertaken by a character of level 28 or above.) - diff --git a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-06.html b/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-06.html deleted file mode 100644 index 01b1c8699f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-06.html +++ /dev/null @@ -1,8 +0,0 @@ -Elder Casian:
-The wind is unusually scorching today... Do you feel it? The angry cries of the souls of those who perished here seem carried on the blistering breeze across the Wasteland...
-Forgive me. This place has that effect on me. By the way, how are things at the Ant Nest?
- - - - - diff --git a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-07.html b/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-07.html deleted file mode 100644 index 88b7bc4d7a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-07.html +++ /dev/null @@ -1,6 +0,0 @@ -Elder Casian:
-How could you forget? You must slay ant recruits, ant patrols, ant guards, noble ants, and the noble ant leader in order to obtain the pieces of the spellbook.
-Examine any scraps of paper you come across carefully. The pieces of "Kranvel's Spellbook" should be instantly recognizable.
-You must find all four chapters: the Chapter of Fire, the Chapter of Water, the Chapter of Wind and the Chapter of Earth.
- - diff --git a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-08.html b/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-08.html deleted file mode 100644 index 4db0bf5a57..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-08.html +++ /dev/null @@ -1,7 +0,0 @@ -Elder Casian:
-Let's see, the Chapter of Fire, the Chapter of Water, the Chapter of Wind, and the Chapter of Earth... you have brought them all! Perhaps your discovery will lead to a way to restore this ruined place. At last I shall be redeemed... This is all thanks to you. Please accept this humble token of my appreciation.
-But this sad chapter is not yet complete... The dark magic that caused this disaster had many sources, united in their power and holding copies of "Kranvel's Spellbook"!
-Alas, it's true! There remain many pieces of that horrid tome scattered about the inside of the Ant Nest. If I am to continue my research, and above all to keep this dreadful power from falling into the wrong hands, the remaining fragments of "Kranvel's Spellbook" must be recovered! Please help!
- - - diff --git a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-09.html b/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-09.html deleted file mode 100644 index 49c755fa7a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Elder Casian:
-Thank you for helping us. Hopefully someday our efforts will pay off, and restore this wasteland to its former beauty. Bless you, my child... - diff --git a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-10.html b/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-10.html deleted file mode 100644 index 533df7b4a6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-10.html +++ /dev/null @@ -1,5 +0,0 @@ -Elder Casian:
-I understand. Your assistance has given me the opportunity to redeem myself. I don't know exactly where my research will lead, but hopefully to a better world...
-We all must do what we think is best. Only time will tell whether our choices are good ones...
-Thank you so very much for your help. May you be blessed by the gods... - diff --git a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-11.html b/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-11.html deleted file mode 100644 index 4ce71a9270..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/30612-11.html +++ /dev/null @@ -1,4 +0,0 @@ -Elder Casian:
-How could you have forgotten so quickly?
-"Kranvel's Spellbook" consists of four chapters: the Chapter of Fire, the Chapter of Water, the Chapter of Wind and the Chapter of Earth. The contents will not be discernible unless you find all four chapters. Please, you must help us! We're counting on you! - diff --git a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java b/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java deleted file mode 100644 index eb17f18d4e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00370_AnElderSowsSeeds; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.util.Util; - -/** - * An Elder Sows Seeds (370) - * @author Adry_85 - */ -public final class Q00370_AnElderSowsSeeds extends Quest -{ - // NPC - private static final int CASIAN = 30612; - // Items - private static final int SPELLBOOK_PAGE = 5916; - private static final int CHAPTER_OF_FIRE = 5917; - private static final int CHAPTER_OF_WATER = 5918; - private static final int CHAPTER_OF_WIND = 5919; - private static final int CHAPTER_OF_EARTH = 5920; - // Misc - private static final int MIN_LEVEL = 28; - // Mobs - private static final Map MOBS1 = new HashMap<>(); - private static final Map MOBS2 = new HashMap<>(); - static - { - MOBS1.put(20082, 9); // ant_recruit - MOBS1.put(20086, 9); // ant_guard - MOBS1.put(20090, 22); // noble_ant_leader - MOBS2.put(20084, 0.101); // ant_patrol - MOBS2.put(20089, 0.100); // noble_ant - } - - public Q00370_AnElderSowsSeeds() - { - super(370, Q00370_AnElderSowsSeeds.class.getSimpleName(), "An Elder Sows Seeds"); - addStartNpc(CASIAN); - addTalkId(CASIAN); - addKillId(MOBS1.keySet()); - addKillId(MOBS2.keySet()); - } - - @Override - public boolean checkPartyMember(L2PcInstance member, L2Npc npc) - { - final QuestState st = getQuestState(member, false); - return ((st != null) && st.isStarted()); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30612-02.htm": - case "30612-03.htm": - case "30612-06.html": - case "30612-07.html": - case "30612-09.html": - { - htmltext = event; - break; - } - case "30612-04.htm": - { - st.startQuest(); - htmltext = event; - break; - } - case "REWARD": - { - if (st.isStarted()) - { - if (exchangeChapters(player, false)) - { - htmltext = "30612-08.html"; - } - else - { - htmltext = "30612-11.html"; - } - } - break; - } - case "30612-10.html": - { - if (st.isStarted()) - { - exchangeChapters(player, true); - st.exitQuest(true, true); - htmltext = event; - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - int npcId = npc.getId(); - if (MOBS1.containsKey(npcId)) - { - if (getRandom(100) < MOBS1.get(npcId)) - { - L2PcInstance luckyPlayer = getRandomPartyMember(player, npc); - if (luckyPlayer != null) - { - giveItemRandomly(luckyPlayer, npc, SPELLBOOK_PAGE, 1, 0, 1.0, true); - } - } - } - else - { - final QuestState st = getRandomPartyMemberState(player, -1, 3, npc); - if (st != null) - { - giveItemRandomly(st.getPlayer(), npc, SPELLBOOK_PAGE, 1, 0, MOBS2.get(npcId), true); - } - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st.isCreated()) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30612-01.htm" : "30612-05.html"; - } - else if (st.isStarted()) - { - htmltext = "30612-06.html"; - } - return htmltext; - } - - private final boolean exchangeChapters(L2PcInstance player, boolean takeAllItems) - { - final long waterChapters = getQuestItemsCount(player, CHAPTER_OF_WATER); - final long earthChapters = getQuestItemsCount(player, CHAPTER_OF_EARTH); - final long windChapters = getQuestItemsCount(player, CHAPTER_OF_WIND); - final long fireChapters = getQuestItemsCount(player, CHAPTER_OF_FIRE); - final long minCount = Util.min(waterChapters, earthChapters, windChapters, fireChapters); - if (minCount > 0) - { - giveAdena(player, minCount * 3600, true); - } - final long countToTake = (takeAllItems ? -1 : minCount); - takeItems(player, (int) countToTake, CHAPTER_OF_WATER, CHAPTER_OF_EARTH, CHAPTER_OF_WIND, CHAPTER_OF_FIRE); - return (minCount > 0); - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-01.htm b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-01.htm deleted file mode 100644 index 094a3ff234..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Warehouse Chief Ranspo:
-I've been a warehouse keeper in this very location for almost 40 years! I can honestly say that I built this place with my own hands. I sacrificed my youth and devoted all of my passion to it!
-I received notice some time ago from the elder council of the guild union in Schuttgart. An inspector from the Iron Gate Guild will visit here soon. He is coming to observe my warehouse because the productivity in Dion has been so high this year. If everything goes well, I might be very well be promoted to the position of elder!
-When the inspector is here, I must honor him with a great feast... But I don't know where to start! I'm so excited! I must have some help from an adventurer like yourself. Of course, you'll be well rewarded. What do you think? Will you help me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-02.htm b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-02.htm deleted file mode 100644 index e182d70fd8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Ranspo:
-Wonderful! The inspector is widely known to be a lover of fine food and drink. It is said that he joined a wine taster's guild as a hobby and ended up earning the title of Sommelier, the highest grade!
-Anyway, at the feast, I must offer him first some elegant appetizers and top-quality wine. I know that the wine in this area is very well-regarded. Would you find a bottle and bring it to me? The older the better! Go visit Guard Harlan who works in the village. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-03.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-03.html deleted file mode 100644 index e4d06458a4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-03.html +++ /dev/null @@ -1,6 +0,0 @@ -Warehouse Chief Ranspo:
-I've been a warehouse keeper in this very location for almost 40 years! I can honestly say that I built this place with my own hands! I sacrificed my youth and devoted all of my passion to it!
-I received notice some time ago from the elder council of the guild union in Schuttgart. An inspector from the Iron Gate Guild will visit here soon. He is coming to observe my warehouse because the productivity in Dion has been so high this year. If everything goes well, I might very well be promoted to the position of elder!
-When the inspector is here, I must honor him with a great feast... But I don't know where to start! I'm so excited! I must have some help from an adventurer like yourself, but... now that I get a closer look at you, I can tell that you're still lacking experience! Why don't you come back and see me later?
-(This quest may only be undertaken by a character of level 20 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-04.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-04.html deleted file mode 100644 index c3a1da3269..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-04.html +++ /dev/null @@ -1,7 +0,0 @@ -Warehouse Chief Ranspo:
-Did you bring me the wine?
- - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-05.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-05.html deleted file mode 100644 index 23b4233259..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Ranspo:
-Hmm... 15-year-old wine... I think you could've done better than that... Anyway, since I don't have much time left, I'll take it. Next I'll need...
-A grand feast must be accompanied by entertainment! I heard that there is a skillful dwarf composer in this village. What was his name? Barmonkey... Barbado... something like that... Anyhow, please find this man and ask him to compose some festive music suitable for this occasion. I'll hire a musician myself. Just bring me a musical score. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-06.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-06.html deleted file mode 100644 index bee13f2d6a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Ranspo:
-Hmm.. 30-year-old wine... Not bad... But I think you could've done better... But I'll take it. Let's see, what else was there...?
-Ah, yes! A grand feast must be accompanied by entertainment! I've heard that there is a skillful dwarf composer in this village. What was his name? Barmonkey... Barbado... something like that... Anyhow, please find him and ask him to compose some festive music suitable for this occasion. I'll hire a musician myself. Just bring me a musical score. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-07.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-07.html deleted file mode 100644 index 8c9a965f36..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Ranspo:
-Oh, my! A 60-year-old wine! Such a rarity! Thank you so much! I'm glad I trusted you with this task. Now, let me see, what else was there...?
-Ah, yes! A grand feast must be accompanied by entertainment! I've heard that there is a skillful dwarf composer in this village. What was his name? Barmonkey... Barbado... something like that... Anyhow, please find him and ask him to compose some festive music suitable for this occasion. I'll hire a musician myself. Just bring me a musical score. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-08.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-08.html deleted file mode 100644 index ec89c1f1ac..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-08.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Ranspo:
-Are you playing with me? Go get the wine!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-09.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-09.html deleted file mode 100644 index e8bb0e5bd0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Chief Ranspo:
-What a blockhead you are! What's the matter with you? I'll explain it once more, so open your ears and listen! I must have top-quality wine! The older the better! Go and see Guard Harlan in the village. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-10.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-10.html deleted file mode 100644 index 4c0941501a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Chief Ranspo:
-Have you brought me the musical score? What have you been doing? Hurry to see that dwarf Barbado, or whatever his name is, and bring back the score! Make sure it's cheerful music, suitable for a banquet! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-11.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-11.html deleted file mode 100644 index 303fdd8c7f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-11.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Ranspo:
-Is this the music Booboo, no, Barbado composed? Ha! I can't read music... but, I've heard that he's a good musician. I'm sure it's wonderful... I've hired an accordionist... Now, what else was there? Ah, yes! That's right...!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-12.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-12.html deleted file mode 100644 index 738e61131a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-12.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Chief Ranspo:
-Appetizer, wine, cheerful music... all that's lacking is the main course... the heart and soul of the feast! We must prepare the courses! I know that the inspector would like to try some of Dion's regional foods. I have provided the young chef's apprentice with space and money to develop dishes... For some reason, it's taking him forever! Jonas is only interested in winning a prize in the culinary competition. He's not interested in treating the inspector with great dishes at all! He's saying that before he can complete the final dish, he won't tell his secret recipe to anyone! Would you talk to him and try to get his secret recipe? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-13.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-13.html deleted file mode 100644 index 7541f861ac..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-13.html +++ /dev/null @@ -1,7 +0,0 @@ -Warehouse Chief Ranspo:
-Have you gotten the secret recipe from Jonas? I've invested so much time and money in that kid... If the recipe is mediocre.. I'll kick him out immediately!
- - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-14.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-14.html deleted file mode 100644 index 0074b6fc71..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-14.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Ranspo:
-His recipe for what? Salad?! You can't really expect me to serve rabbit food to the inspector! Well, actually, it is a specialty of Dion... I suppose I could give it a try...
-Well... my preparations for the feast are almost complete... I have just one last favor to ask you... Can you guess what it is? Yes, the dessert! What meal is complete without a delicious dessert? Go and see Magister Rollant at the temple, I've heard he has a secret recipe for a dessert made with local ingredients... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-15.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-15.html deleted file mode 100644 index f4c724a254..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-15.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Ranspo:
-What am I supposed to do with a sauce? I suppose I could make steak... I could prepare it Dwarf-style, and use the sauce that Jonas developed. That should be enough to satisfy the inspector.
-My preparations for the feast are almost complete... I have one last favor to ask you... Can you guess what it is? Yes, the dessert! What meal is complete without a delicious dessert? Go and see Magister Rollant at the temple, I've heard that he has a secret recipe for a dessert made with local ingredients... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-16.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-16.html deleted file mode 100644 index afb7726833..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-16.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Ranspo:
-Monster Eye Steak? Oh my, that is unique! I like it! I'm sure the inspector will be very impressed!
-My preparations for the feast are almost complete... I have one last favor to ask... Can you guess what it is? Yes, the dessert! What meal is complete without a delicious dessert? Go and see Magister Rollant at the temple, I've heard that he has a secret recipe for a dessert made with local ingredients... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-17.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-17.html deleted file mode 100644 index 6579f3d48b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-17.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Ranspo:
-The inspector will be here in two days! We're running out of time! In fact, we've no time at all! Hurry back with a secret recipe from Jonas!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-18.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-18.html deleted file mode 100644 index f187b26ae7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-18.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Chief Ranspo:
-Oh my! Where is Shilen when you need her? She should have taken you long ago! What were you doing when I explained this to you before? Are you deaf? OK, I'll tell you once more. Pay attention! The guy next to me is Jonas! He has a lot of secret recipes. Talk to him, obtain one of his secret recipes and bring it to me! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-19.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-19.html deleted file mode 100644 index 8fa2ab2823..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-19.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Chief Ranspo:
-The inspector will be here the day after tomorrow! Even though you brought me the recipe, I'm not sure we can prepare the dish in time! Quickly! Go to the temple and get the recipe for dessert from Magister Rollant! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-20.html b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-20.html deleted file mode 100644 index 130028a146..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/30594-20.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Chief Ranspo:
-Oh my! Yes, This is exactly what I wanted! Just looking at the ingredients makes my mouth water! So, now I just have to follow the recipe, right? I'm going to do everything I can to make this feast a success!
-Thank you for your hard work. Thanks to you, now I can prepare a truly magnificent banquet! My promotion is guaranteed. Please accept this reward! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/Q00378_GrandFeast.java b/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/Q00378_GrandFeast.java deleted file mode 100644 index 0b3e507bd6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00378_GrandFeast/Q00378_GrandFeast.java +++ /dev/null @@ -1,314 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00378_GrandFeast; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Grand Feast (378) - * @author Adry_85 - */ -public final class Q00378_GrandFeast extends Quest -{ - // NPC - private static final int RANSPO = 30594; - // Items - private static final int JONAS_SALAD_RECIPE = 1455; - private static final int JONAS_SAUCE_RECIPE = 1456; - private static final int JONAS_STEAK_RECIPE = 1457; - private static final int THEME_OF_THE_FEAST = 4421; - private static final int OLD_WINE_15_YEAR = 5956; - private static final int OLD_WINE_30_YEAR = 5957; - private static final int OLD_WINE_60_YEAR = 5958; - private static final int RITRONS_DESSERT_RECIPE = 5959; - // Rewards - private static final int CORAL_EARRING = 846; - private static final int RED_CRESCENT_EARRING = 847; - private static final int ENCHANTED_EARRING = 848; - private static final int ENCHANTED_RING = 879; - private static final int RING_OF_DEVOTION = 890; - private static final int BLUE_DIAMOND_NECKLACE = 909; - private static final int NECKLACE_OF_DEVOTION = 910; - // Misc - private static final int MIN_LEVEL = 20; - - public Q00378_GrandFeast() - { - super(378, Q00378_GrandFeast.class.getSimpleName(), "Grand Feast"); - addStartNpc(RANSPO); - addTalkId(RANSPO); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30594-02.htm": - { - qs.setMemoStateEx(1, 0); - qs.startQuest(); - htmltext = event; - break; - } - case "30594-05.html": - { - final int i0 = qs.getMemoStateEx(1); - if (hasQuestItems(player, OLD_WINE_15_YEAR)) - { - takeItems(player, OLD_WINE_15_YEAR, 1); - qs.setMemoStateEx(1, i0 + 10); - qs.setCond(2, true); - htmltext = event; - } - else - { - htmltext = "30594-08.html"; - } - break; - } - case "30594-06.html": - { - final int i0 = qs.getMemoStateEx(1); - if (hasQuestItems(player, OLD_WINE_30_YEAR)) - { - takeItems(player, OLD_WINE_30_YEAR, 1); - qs.setMemoStateEx(1, i0 + 20); - qs.setCond(2, true); - htmltext = event; - } - else - { - htmltext = "30594-08.html"; - } - break; - } - case "30594-07.html": - { - final int i0 = qs.getMemoStateEx(1); - if (hasQuestItems(player, OLD_WINE_60_YEAR)) - { - takeItems(player, OLD_WINE_60_YEAR, 1); - qs.setMemoStateEx(1, i0 + 30); - qs.setCond(2, true); - htmltext = event; - } - else - { - htmltext = "30594-08.html"; - } - break; - } - case "30594-09.html": - case "30594-18.html": - { - htmltext = event; - break; - } - case "30594-12.html": - { - if (hasQuestItems(player, THEME_OF_THE_FEAST)) - { - takeItems(player, THEME_OF_THE_FEAST, 1); - qs.setCond(3, true); - htmltext = event; - } - else - { - htmltext = "30594-08.html"; - } - break; - } - case "30594-14.html": - { - final int i0 = qs.getMemoStateEx(1); - if (hasQuestItems(player, JONAS_SALAD_RECIPE)) - { - takeItems(player, JONAS_SALAD_RECIPE, 1); - qs.setMemoStateEx(1, i0 + 1); - qs.setCond(4, true); - htmltext = event; - } - else - { - htmltext = "30594-17.html"; - } - break; - } - case "30594-15.html": - { - final int i0 = qs.getMemoStateEx(1); - if (hasQuestItems(player, JONAS_SAUCE_RECIPE)) - { - takeItems(player, JONAS_SAUCE_RECIPE, 1); - qs.setMemoStateEx(1, i0 + 2); - qs.setCond(4, true); - htmltext = event; - } - else - { - htmltext = "30594-17.html"; - } - break; - } - case "30594-16.html": - { - final int i0 = qs.getMemoStateEx(1); - if (hasQuestItems(player, JONAS_STEAK_RECIPE)) - { - takeItems(player, JONAS_STEAK_RECIPE, 1); - qs.setMemoStateEx(1, i0 + 3); - qs.setCond(4, true); - htmltext = event; - } - else - { - htmltext = "30594-17.html"; - } - break; - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs.isCreated()) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30594-01.htm" : "30594-03.html"; - } - else if (qs.isStarted()) - { - switch (qs.getCond()) - { - case 1: - { - htmltext = "30594-04.html"; - break; - } - case 2: - { - htmltext = (hasQuestItems(player, THEME_OF_THE_FEAST)) ? "30594-11.html" : "30594-10.html"; - break; - } - case 3: - { - htmltext = "30594-13.html"; - break; - } - case 4: - { - if (hasQuestItems(player, RITRONS_DESSERT_RECIPE)) - { - takeItems(player, RITRONS_DESSERT_RECIPE, 1); - int item = 0, adena = 0; - long quantity = 0; - switch (qs.getMemoStateEx(1)) - { - case 11: - { - item = RED_CRESCENT_EARRING; - quantity = 1; - adena = 5700; - break; - } - case 12: - { - item = CORAL_EARRING; - quantity = 2; - adena = 1200; - break; - } - case 13: - { - item = ENCHANTED_RING; - quantity = 1; - adena = 8100; - break; - } - case 21: - { - item = CORAL_EARRING; - quantity = 2; - break; - } - case 22: - { - item = ENCHANTED_RING; - quantity = 1; - adena = 6900; - break; - } - case 23: - { - item = NECKLACE_OF_DEVOTION; - quantity = 1; - break; - } - case 31: - { - item = BLUE_DIAMOND_NECKLACE; - quantity = 1; - adena = 25400; - break; - } - case 32: - { - item = RING_OF_DEVOTION; - quantity = 2; - adena = 8500; - break; - } - case 33: - { - item = ENCHANTED_EARRING; - quantity = 1; - adena = 2200; - break; - } - } - giveItems(player, item, quantity); - giveAdena(player, adena, true); - qs.exitQuest(true, true); - htmltext = "30594-20.html"; - } - else - { - htmltext = "30594-19.html"; - } - break; - } - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-01.htm b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-01.htm deleted file mode 100644 index 16c94720b0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-01.htm +++ /dev/null @@ -1,7 +0,0 @@ -Guard Harlan:
-Hello, stranger! My wife just recently gave birth to a beautiful baby girl!
-The countless amusements of fatherhood fill me with indescribable joy... I just want to play peek-a-boo all day! I don't care if people laugh... I would do anything for my precious baby!
-I see that you disapprove, but you must understand... My wife and I tried for 10 years to have a child! To finally have produced such a perfect baby would drive anyone to distraction!
-You are obviously not a parent!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-02.htm b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-02.htm deleted file mode 100644 index d21a65120f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Guard Harlan:
-Apology accepted, my friend... I suppose I overreacted. To mark the birth of my daughter I want to make fantasy wine. The recipe has been in my family for many generations. When she marries I will serve it at her wedding!
-I am lacking some of the ingredients I need to make the wine. These ingredients have always been rare, but nowadays it's practically impossible to get them. To make matters worse, my duties as a guard keep me from going out and finding them myself. Would you help me?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-03.htm b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-03.htm deleted file mode 100644 index 302dab6905..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Guard Harlan:
-Well, let's see, I'll need some leaves of eucalyptus... They can be obtained from an Enku Orc champion. To properly age the wine I'll require some stones of chill... They're made and used by the Enku Orc shaman. Bring these items to me and I'll make the wine.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-04.htm b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-04.htm deleted file mode 100644 index 3099db58fc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-04.htm +++ /dev/null @@ -1,5 +0,0 @@ -Guard Harlan:
-Oh, great! Please bring me 80 leaves of eucalyptus... That should be enough for one barrel of wine.
-I'll need some stones of chill to properly age the wine... 100 should be enough.
-If you bring me these items, I'll give you a genuine bottle of Dion wine! No cost is too high for the sake of my precious daughter! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-05.html b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-05.html deleted file mode 100644 index 43c53296ee..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Harlan:
-I understand, you're busy. If you should change your mind and we meet again, I could really use the help. Have a safe journey. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-06.html b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-06.html deleted file mode 100644 index 4a2ef97f73..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-06.html +++ /dev/null @@ -1,6 +0,0 @@ -Guard Harlan:
-Hello, stranger! My wife just recently gave birth to a beautiful baby girl!
-The countless amusements of fatherhood fill me with indescribable joy... I just want to play peek-a-boo all day! I don't care if people laugh... I would do anything for my precious baby!
-I need a favor, but you are not yet skilled enough to do it for me. Please come back to see me later.
-(This quest may only be undertaken by a character of level 20 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-07.html b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-07.html deleted file mode 100644 index cf8c4536f5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Harlan:
-Have you brought the ingredients for the fantasy wine?
-I'll need 80 leaves of eucalyptus from the Enku Orc champions and 100 stones of chill from the Enku Orc shamans. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-08.html b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-08.html deleted file mode 100644 index d37e1f8e22..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Harlan:
-You've brought all the leaves of eucalyptus I need, but I still don't have enough stones of chill. As I said, I need 100 of them. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-09.html b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-09.html deleted file mode 100644 index df21e8fd21..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Harlan:
-You've brought enough stones of chill, but I still need more leaves of eucalyptus. As I said, I need 80 of them. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-10.html b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-10.html deleted file mode 100644 index f65b0f9b78..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-10.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Harlan:
-Do you have all the ingredients? Let me see them!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-11.html b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-11.html deleted file mode 100644 index af26e3cb45..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-11.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Harlan:
-These ingredients aren't the best you can get, but they'll do. At least I can make the fantasy wine to celebrate my daughter's wedding. Thank you for helping me with this. Here is some wine made by my father. This is truly a rare gift. Share it with your friends on a happy occasion. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-12.html b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-12.html deleted file mode 100644 index 224d83add6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-12.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Harlan:
-Now I can make the fantasy wine! I'll let it age and serve it when my daughter gets married. Thank you! Here is some excellent wine made by my father. Open it to celebrate a special occasion with your family and friends. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-13.html b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-13.html deleted file mode 100644 index f993f38a09..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/30074-13.html +++ /dev/null @@ -1,5 +0,0 @@ -Guard Harlan:
-These are very high quality ingredients! Now I can make the very finest fantasy wine.
-What a wonderful gift for my daughter this will make!
-Here, take this excellent bottle of wine. It's very rare! In fact, there are only a few bottles of it in the entire kingdom! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/Q00379_FantasyWine.java b/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/Q00379_FantasyWine.java deleted file mode 100644 index 1830757a5d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00379_FantasyWine/Q00379_FantasyWine.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00379_FantasyWine; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.util.Util; - -/** - * Fantasy Wine (379) - * @author Adry_85 - */ -public final class Q00379_FantasyWine extends Quest -{ - // NPC - private static final int HARLAN = 30074; - // Items - private static final ItemHolder LEAF_OF_EUCALYPTUS = new ItemHolder(5893, 80); - private static final ItemHolder STONE_OF_CHILL = new ItemHolder(5894, 100); - private static final int OLD_WINE_15_YEAR = 5956; - private static final int OLD_WINE_30_YEAR = 5957; - private static final int OLD_WINE_60_YEAR = 5958; - // Monsters - private static final int ENKU_ORC_CHAMPION = 20291; - private static final int ENKU_ORC_SHAMAN = 20292; - // Misc - private static final int MIN_LEVEL = 20; - - public Q00379_FantasyWine() - { - super(379, Q00379_FantasyWine.class.getSimpleName(), "Fantasy Wine"); - addStartNpc(HARLAN); - addTalkId(HARLAN); - addKillId(ENKU_ORC_CHAMPION, ENKU_ORC_SHAMAN); - registerQuestItems(LEAF_OF_EUCALYPTUS.getId(), STONE_OF_CHILL.getId()); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30074-02.htm": - case "30074-03.htm": - case "30074-05.html": - { - htmltext = event; - break; - } - case "30074-04.htm": - { - qs.startQuest(); - htmltext = event; - break; - } - case "30074-11.html": - { - if (hasAllItems(player, true, LEAF_OF_EUCALYPTUS, STONE_OF_CHILL)) - { - final int random = getRandom(10); - final int item; - - if (random < 3) - { - item = OLD_WINE_15_YEAR; - htmltext = event; - } - else if (random < 9) - { - item = OLD_WINE_30_YEAR; - htmltext = "30074-12.html"; - } - else - { - item = OLD_WINE_60_YEAR; - htmltext = "30074-13.html"; - } - - giveItems(player, item, 1); - takeAllItems(player, LEAF_OF_EUCALYPTUS, STONE_OF_CHILL); - qs.exitQuest(true, true); - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getQuestState(killer, false); - - if ((qs == null) || !Util.checkIfInRange(1500, npc, killer, true)) - { - return null; - } - - final ItemHolder dropItem = ((npc.getId() == ENKU_ORC_CHAMPION) ? LEAF_OF_EUCALYPTUS : STONE_OF_CHILL); - - if (giveItemRandomly(killer, npc, dropItem.getId(), 1, dropItem.getCount(), 1.0, true) && hasAllItems(killer, true, LEAF_OF_EUCALYPTUS, STONE_OF_CHILL)) - { - qs.setCond(2); - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs.isCreated()) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "30074-01.htm" : "30074-06.html"; - } - else if (qs.isStarted()) - { - final boolean hasLeafOfEucalyptus = hasItem(player, LEAF_OF_EUCALYPTUS); - final boolean hasStoneOfChill = hasItem(player, STONE_OF_CHILL); - - if (!hasLeafOfEucalyptus && !hasStoneOfChill) - { - htmltext = "30074-07.html"; - } - else if (hasLeafOfEucalyptus && !hasStoneOfChill) - { - htmltext = "30074-08.html"; - } - else if (!hasLeafOfEucalyptus && hasStoneOfChill) - { - htmltext = "30074-09.html"; - } - else - { - htmltext = "30074-10.html"; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-01.htm b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-01.htm deleted file mode 100644 index c1d5ed70b7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Magister Rollant:
-Are you interested in the culinary arts? There are many excellent food ingredients here at Dion Castle. The local people have a passion for cooking and hold a culinary competition every month.
-Many people think of this place as a chef's paradise, but I'm not completely satisfied. Although the correct cooking process is vital to the creation of fine foods, there is something missing...
-If you know anyone capable of gathering truly exotic ingredients, send them to me!
-(This quest may only be undertaken by a character of level 24 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-02.htm b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-02.htm deleted file mode 100644 index 262de42137..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Rollant:
-Are you interested in the culinary arts? There are many excellent food ingredients here at Dion Castle. The local people have a passion for cooking and hold a culinary competition every month.
-Many people think of this place as a chef's paradise, but I'm not completely satisfied. Although the correct cooking process is vital to the creation of fine foods, there is something missing.... The other chefs don't seem to notice this, or else they simply don't want to put in the time and effort to obtain new ingredients.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-03.htm b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-03.htm deleted file mode 100644 index f38ad7eab5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Rollant:
-The most important skill a chef possesses is the ability to evaluate fine ingredients. A thorough knowledge of ingredients and the ability to find them are essential. Only then does preparation come into play.
-Remember, an apple requires no preparation whatsoever. Cooking shouldn't always mean smearing something with butter and flour and calling it a pie. But I must admit, there are some hazards in using raw ingredients...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-04.htm b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-04.htm deleted file mode 100644 index 392cfcc06e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Magister Rollant:
-Raw foods can have a very strong flavor. Some foods, if not prepared properly, can even cause illness. By far, the greatest use of ingredients is dessert. Would you care to sample some?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-05.htm b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-05.htm deleted file mode 100644 index b1f5222c18..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-05.htm +++ /dev/null @@ -1,9 +0,0 @@ -Magister Rollant:
-Excellent! We must gather the ingredients! Actually, that will be the hardest part. They aren't easy to find...
-The fruit of the ritron trees quite often fails to sprout, and ripens underground.
-Dire wolves have an excellent sense of smell and often dig up the ritron fruits. I will need 4 ritron fruits.
-I will also need a Moon Face Flower which is carried by Kadif werewolves and some fluids of giant mist leeches.
-Ah, I will also need two leaves of Antidote as well, since Leech Fluids are very poisonous. So let's see, I need 4 ritron fruits, 20 moon flowers, 10 bottles of giant mist Leech Fluids and two leaves of Antidote... You can purchase Antidote at any store.
-Bring me these ingredients and you'll taste the best dessert in the world!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-06.html b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-06.html deleted file mode 100644 index 4f15c9d20e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-06.html +++ /dev/null @@ -1,6 +0,0 @@ -Magister Rollant:
-Dire wolves can be found in the northern Dion Hills, or in the south across the river west of Dion Castle and also on the Plains of Dion.
-Since Kadif werewolves can only be found on the Plains of Dion, you'll have to cross the river anyway.
-Giant mist leeches can be found in the Cruma Marshlands.
-Antidotes can be bought at any store. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-07.html b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-07.html deleted file mode 100644 index 2f2596529b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Magister Rollant:
-You haven't brought all the ingredients. Please bring me ritron fruit from dire wolves, moon flowers from Kadif werewolves, giant mist Leech Fluids and Antidote. Bring them to me and I'll make you the best dessert ever made... Even Magister Mirien, known as the magician of flavor, has never tasted it!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-08.html b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-08.html deleted file mode 100644 index 9a2998f8ff..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-08.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Rollant:
-Good! You've brought all the ingredients. I'll get started with my cooking.
-Ritron fruit cannot be consumed raw. To soften it, you must use this leech fluid. First we must beat the leech fluid together and neutralize it with Antidote. Then, grind the moon flower...
-This will take a while... Would you like to come back later? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-09.html b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-09.html deleted file mode 100644 index b6aa32b9f7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-09.html +++ /dev/null @@ -1,6 +0,0 @@ -Magister Rollant:
-Now I must distill the leech fluid and mix it with gelatin.
-Hmm, I forgot, I need to make gelatin, too. Please light the fire.
-Now I will crush one ritron fruit and add it to the ground moon flower...
-Please come back later. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-10.html b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-10.html deleted file mode 100644 index d399a98907..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-10.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Rollant:
-Timing is essential!
-I will add the sterilized Leech Fluids to the ritron fruit just before it melts, so it will develop the maximum smoothness while retaining the pulp that uniquely tickles the throat...
-I must concentrate. Please don't interrupt me! Come back later! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-11.html b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-11.html deleted file mode 100644 index bcd4335d4f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-11.html +++ /dev/null @@ -1,4 +0,0 @@ -Magister Rollant:
-Quiet! This is a very crucial moment!
-Come back later. Why are you in such a hurry? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-12.html b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-12.html deleted file mode 100644 index 9dbc650779..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-12.html +++ /dev/null @@ -1,6 +0,0 @@ -Magister Rollant:
-It's done! Now it must marinate in the sauce. When it's hardened you can eat it. I call it "Rollant's Special Ritron Jelly".
-Can you taste the hint of moon flower? I added the ritron fruit to the ritron sauce to really intensify the flavor.
-It melts in your mouth but still has a lovely texture, doesn't it? Eat up!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-13.html b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-13.html deleted file mode 100644 index dfbd6d49f0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-13.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Rollant:
-I'm glad you enjoyed it. In case you ever want to have it again, take this recipe. I hope other chefs learn that such ingredients exist and start creating dishes made from them. Please share it with as many people as possible. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-14.html b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-14.html deleted file mode 100644 index bb7d80b392..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-14.html +++ /dev/null @@ -1,3 +0,0 @@ -Magister Rollant:
-Did you enjoy it? In case you ever want to make it, take this recipe. I hope other chefs learn that such ingredients exist and start creating dishes using them. Please share it with as many people as possible. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-15.html b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-15.html deleted file mode 100644 index 931d769556..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/30069-15.html +++ /dev/null @@ -1,7 +0,0 @@ -Magister Rollant:
-It's done! Now, it must marinate in the ritron sauce. When it's hardened you can eat it. I call it "Rollant's Special Ritron Jelly".
-Can you taste the hint of moon flower? I added the ritron fruit to the ritron sauce which really intensifies the flavor.
-It melts in your mouth but still has a lovely texture, doesn't it?
-Regretfully, this ritron fruit had been gnawed by wolves. I'm sure the taste won't be affected, but much of the joy of a dessert is its appearance...
-Oh, well, you have to make do with what you have. Thank you for your work. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/Q00380_BringOutTheFlavorOfIngredients.java b/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/Q00380_BringOutTheFlavorOfIngredients.java deleted file mode 100644 index fdfb768e15..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00380_BringOutTheFlavorOfIngredients/Q00380_BringOutTheFlavorOfIngredients.java +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00380_BringOutTheFlavorOfIngredients; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemChanceHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Bring Out the Flavor of Ingredients! (380) - * @author Pandragon - */ -public final class Q00380_BringOutTheFlavorOfIngredients extends Quest -{ - // NPC - private static final int ROLLAND = 30069; - // Items - private static final int ANTIDOTE = 1831; - private static final int RITRON_FRUIT = 5895; - private static final int MOON_FLOWER = 5896; - private static final int LEECH_FLUIDS = 5897; - // Monsters - private static final Map MONSTER_CHANCES = new HashMap<>(); - { - MONSTER_CHANCES.put(20205, new ItemChanceHolder(RITRON_FRUIT, 0.1, 4)); // Dire Wolf - MONSTER_CHANCES.put(20206, new ItemChanceHolder(MOON_FLOWER, 0.5, 20)); // Kadif Werewolf - MONSTER_CHANCES.put(20225, new ItemChanceHolder(LEECH_FLUIDS, 0.5, 10)); // Giant Mist Leech - } - // Rewards - private static final int RITRON_RECIPE = 5959; - private static final int RITRON_DESSERT = 5960; - // Misc - private static final int MIN_LVL = 24; - - public Q00380_BringOutTheFlavorOfIngredients() - { - super(380, Q00380_BringOutTheFlavorOfIngredients.class.getSimpleName(), "Bring Out the Flavor of Ingredients!"); - addStartNpc(ROLLAND); - addTalkId(ROLLAND); - addKillId(MONSTER_CHANCES.keySet()); - registerQuestItems(RITRON_FRUIT, MOON_FLOWER, LEECH_FLUIDS); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - String htmltext = null; - if (qs != null) - { - switch (event) - { - case "30069-03.htm": - case "30069-04.htm": - case "30069-06.html": - { - htmltext = event; - break; - } - case "30069-05.htm": - { - if (qs.isCreated()) - { - qs.startQuest(); - htmltext = event; - } - break; - } - case "30069-13.html": - { - if (qs.isCond(9)) - { - rewardItems(player, RITRON_RECIPE, 1); - qs.exitQuest(true, true); - htmltext = event; - } - break; - } - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance talker) - { - final QuestState qs = getQuestState(talker, true); - String htmltext = getNoQuestMsg(talker); - switch (qs.getState()) - { - case State.CREATED: - { - htmltext = (talker.getLevel() >= MIN_LVL) ? "30069-02.htm" : "30069-01.htm"; - break; - } - case State.STARTED: - { - switch (qs.getCond()) - { - case 1: - case 2: - case 3: - case 4: - { - if ((getQuestItemsCount(talker, ANTIDOTE) >= 2) && (getQuestItemsCount(talker, RITRON_FRUIT) >= 4) && (getQuestItemsCount(talker, MOON_FLOWER) >= 20) && (getQuestItemsCount(talker, LEECH_FLUIDS) >= 10)) - { - takeItems(talker, ANTIDOTE, 2); - takeItems(talker, -1, RITRON_FRUIT, MOON_FLOWER, LEECH_FLUIDS); - qs.setCond(5, true); - htmltext = "30069-08.html"; - } - else - { - htmltext = "30069-07.html"; - } - break; - } - case 5: - { - qs.setCond(6, true); - htmltext = "30069-09.html"; - break; - } - case 6: - { - qs.setCond(7, true); - htmltext = "30069-10.html"; - break; - } - case 7: - { - qs.setCond(8, true); - htmltext = "30069-11.html"; - break; - } - case 8: - { - rewardItems(talker, RITRON_DESSERT, 1); - if (getRandom(100) < 56) - { - htmltext = "30069-15.html"; - qs.exitQuest(true, true); - } - else - { - qs.setCond(9, true); - htmltext = "30069-12.html"; - } - break; - } - case 9: - { - htmltext = "30069-12.html"; - break; - } - } - break; - } - case State.COMPLETED: - { - htmltext = getAlreadyCompletedMsg(talker); - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc); - if ((qs != null) && (qs.getCond() < 4)) - { - final ItemChanceHolder item = MONSTER_CHANCES.get(npc.getId()); - if (giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, item.getCount(), item.getChance(), true)) - { - qs.setCond(qs.getCond() + 1, true); - } - } - return super.onKill(npc, killer, isSummon); - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-01.html b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-01.html deleted file mode 100644 index 9d9c2acde0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-01.html +++ /dev/null @@ -1,6 +0,0 @@ -Trader Espen:
-As a way of escaping my boring daily life, I have a hobby of collecting pirate memorabilia. I'm especially interested in anything to do with Zaken, the legendary scourge of the high seas.
-Currently, I'm conducting research about Muska, Zaken's subordinate who stole his treasure and ran away. It is said that he was once Zaken's boatswain, and when Zaken's ship was anchored at Innadril Harbor, he made off with a few Treasure Chests and stashed them somewhere on Alligator Island. Isn't that interesting?
-Soon, I plan to organize an expedition and go look for the treasure. Of course, I will need to hire seasoned adventurers...
-(This quest may only be undertaken by a character who possesses the Pirate's Treasure Map and whose level is 42 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-02.html b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-02.html deleted file mode 100644 index 079cc450e0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-02.html +++ /dev/null @@ -1,6 +0,0 @@ -Trader Espen:
-As a way of escaping my boring daily life, I have a hobby of collecting pirate memorabilia. I'm especially interested in anything to do with Zaken, the legendary scourge of the high seas.
-It is said that he was once Zaken's boatswain, and when Zaken's ship was anchored at Innadril Harbor, he made off with a few Treasure Chests and stashed them somewhere on Alligator Island.
-I don't know the exact location of the Treasure Chests... Muska was certainly no fool... he must have drawn a Map...
-(This quest may only be undertaken by a character who possesses the Pirate's Treasure Map and whose level is 42 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-03.htm b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-03.htm deleted file mode 100644 index 36c83d4a37..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Trader Espen:
-As a way of escaping my boring daily life, I have a hobby of collecting pirate memorabilia. I'm especially interested in anything to do with Zaken, the legendary scourge of the high seas.
-It is said that he was once Zaken's boatswain, and when Zaken's ship was anchored at Innadril Harbor, he made off with a few Treasure Chests and stashed them somewhere on Alligator Island.
-But, the exact location of the Treasure Chests hasn't been discovered yet...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-04.htm b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-04.htm deleted file mode 100644 index 61d1b63dfd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-04.htm +++ /dev/null @@ -1,5 +0,0 @@ -Trader Espen:
-Oh Oh?! Could it be...? Is that really Muska's Map? Where did you find it? Let me buy the Map from you! It won't do you any good anyway. Why should you keep it? I'll pay you 1000 Adena for it!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-05.htm b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-05.htm deleted file mode 100644 index bafef2ee54..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-05.htm +++ /dev/null @@ -1,5 +0,0 @@ -Trader Espen:
-Do you mean it? Are you sure you won't regret your decision? Here... Here is 1000 Adena. Ha! Finally, I have Muska's treasure Map! This is truly the chance of a lifetime. At last, Lady Luck smiled on me. I can give up my job as a trader and just enjoy being filthy rich!
-Let me see... where would the treasure be...? First I must decipher the pirates' jargon...
-Hmm? What are you still doing here? Go away! This Map is mine! You're an adventurer, so go and have one! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-06.htm b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-06.htm deleted file mode 100644 index 994b07dcb7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-06.htm +++ /dev/null @@ -1,6 +0,0 @@ -Trader Espen:
-Humph! I guess you're not as stupid as you look... Well, although it's only a part of it, it will lead you to the treasure of the great Pirate Captain Zaken... I know that you don't want to give up the Map so easily.
-Hey, listen! Wouldn't you like to know what kind of treasure is hidden out there? Just the sight of that Map makes my heart pound like a drum!
-How about this? I'll decipher and interpret the Map for you, then you go and find the treasure. In exchange for my services, all I want is the treasure Map. I'd like to keep it as a souvenir. What do you think?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-07.htm b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-07.htm deleted file mode 100644 index 96fcbe5b6d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-07.htm +++ /dev/null @@ -1,5 +0,0 @@ -Trader Espen:
-Heh Heh Heh... Ah, yes, good decision. You won't regret your decision...
-Before I begin, let me tell you a story about the Pirate Captain Zaken and his traitorous boatswain, Muska. Listen carefully, as this information will be quite helpful to you in the future.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-08.html b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-08.html deleted file mode 100644 index 504fdbad21..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-08.html +++ /dev/null @@ -1,7 +0,0 @@ -Trader Espen:
-At one time Muska was a faithful underling of Zaken. But, when Zaken's ship was anchored here in Heine, he fell in love with Fatima, a woman from Abella.
-Fatima seduced Muska and convinced him to betray his captain and steal the treasure.
-Blinded by love, Muska violated the cardinal rule of pirates by betraying his captain and fled with the captain's treasure! To escape his pursuers, he hid himself on Alligator Island and secreted the treasure away there.
-To remember the location of the treasure, he drew a Map. It is the Map you are now holding in your hand.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-09.html b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-09.html deleted file mode 100644 index e59c43883a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-09.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Espen:
-Unfortunately, Muska made a bad choice when he fell in love with Fatima. Her heart concealed dark tendencies... While her lover was risking his life stealing treasure, she had already found herself a lover in Heine, and was plotting to betray Muska...
-When Muska returned to her after hiding the treasure somewhere, Fatima gave him poison and he died.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-10.html b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-10.html deleted file mode 100644 index 1007b0e9ea..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-10.html +++ /dev/null @@ -1,7 +0,0 @@ -Trader Espen:
-Muska was a hardened pirate as well, who greatly distrusted people... and Fatima was no exception. The treasure Map found on Muska's corpse was written in code, and no one could decipher it.
-When Zaken's ship ran aground on Devil's Isle and its captain and all of his crew were all killed, it seemed the Map would never be decoded.
-Fatima, enraged by this turn of events, demanded her new lover go to Devil's Isle immediately and find the treasure for her at any cost. Fatima's unfortunate lover was a mere tailor by trade and soon went missing, along with Muska's treasure Map...
-It was widely believed that the Map was lost for good, and now you show up with it!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-11.html b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-11.html deleted file mode 100644 index 43be5db354..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-11.html +++ /dev/null @@ -1,9 +0,0 @@ -Trader Espen:
-You should thank your lucky stars for running into me. Why? Because I'm the only person in the world who can decipher this Map.
-I recently purchased Zaken's journal from some adventurers who had been exploring on Devil's Isle. It contained a detailed description of the method of decoding the pirates' jargon. Although Zaken was a seemingly fearless pirate who dominated all the great oceans, he was an unexpectedly cautious individual. He wrote a very detailed explanation of the code in his journal, as though he was afraid of forgetting how to decipher it...
-Now, I've told you everything I know. Come on, show me the Map. Let's find out where the treasure is hidden!
-These are the coordinates on the Map. Let me see... 12 feathers of parrot... 50 glasses of rum... the coordinates are...
-Oh, it's right there! It is the northern part of Alligator Beach! Ha ha! It's not far from here. I will mark it on your Map.
-Phew... all my life I have followed the legend of Zaken... And now my fate is just to interpret the Map for someone else... What a disappointment! Well, all I can do is ask you to be a brave treasure hunter...
-Now, get going! Find the finale of the legend... Ah! One last piece of advice... To open a Treasure Chest you must first obtain a Thief Key! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-12.html b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-12.html deleted file mode 100644 index 8d6bc5b846..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-12.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Espen:
-Hey you... Do you or don't you have the treasure Map? You must have heard the rumor that I'm a great pirate aficionado. So, are you trying to rip me off? Get lost! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-13.html b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-13.html deleted file mode 100644 index 19157c031f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-13.html +++ /dev/null @@ -1,5 +0,0 @@ -Trader Espen:
-This Map that you discovered on Alligator Island... Doesn't it make your heart pound just looking at it?
-Ah, you want me to decipher it? Very well... But before I decipher the Map... first I must tell you the story of boatswain Muska, who betrayed Zaken, the great pirate. If you're going to search for Zaken's treasure, you should listen to the story first...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-14.html b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-14.html deleted file mode 100644 index 7cf4287dd5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/30890-14.html +++ /dev/null @@ -1,3 +0,0 @@ -Trader Espen:
-Welcome back, brave hunter! What?! You haven't found the treasure yet? Didn't I mark the coordinates on the Map for you? Take a closer look at your Map! If you go to the coordinates I marked, you will definitely find the treasure...! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/31148-01.html b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/31148-01.html deleted file mode 100644 index c0bf2493f1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/31148-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Pirate's Treasure Chest:
-I found a locked Treasure Chest!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/31148-02.html b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/31148-02.html deleted file mode 100644 index a0806b8225..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/31148-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Pirate's Treasure Chest:
-The key worked, what shall I find inside? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/31148-03.html b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/31148-03.html deleted file mode 100644 index b953d2a739..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/31148-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Pirate's Treasure Chest:
-To open it you must obtain a Thief Key. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/Q00383_TreasureHunt.java b/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/Q00383_TreasureHunt.java deleted file mode 100644 index 7b368b9943..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00383_TreasureHunt/Q00383_TreasureHunt.java +++ /dev/null @@ -1,341 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00383_TreasureHunt; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Treasure Hunt (383) - * @author Adry_85 - */ -public final class Q00383_TreasureHunt extends Quest -{ - // NPCs - private static final int ESPEN = 30890; - private static final int PIRATES_CHEST = 31148; - // Items - private static final int THIEF_KEY = 1661; - private static final int PIRATES_TREASURE_MAP = 5915; - // Misc - private static final int MIN_LEVEL = 42; - // Rewards - private static final ItemHolder SCROLL_ENCHANT_ARMOR_C = new ItemHolder(952, 1); - private static final ItemHolder SCROLL_ENCHANT_ARMOR_D = new ItemHolder(956, 1); - private static final ItemHolder EMERALD = new ItemHolder(1337, 1); - private static final ItemHolder BLUE_ONYX = new ItemHolder(1338, 2); - private static final ItemHolder ONYX = new ItemHolder(1339, 2); - private static final ItemHolder MITHRIL_GLOVES = new ItemHolder(2450, 1); - private static final ItemHolder SAGES_WORN_GLOVES = new ItemHolder(2451, 1); - private static final ItemHolder MOONSTONE = new ItemHolder(3447, 2); - private static final ItemHolder ALEXANDRITE = new ItemHolder(3450, 1); - private static final ItemHolder FIRE_EMERALD = new ItemHolder(3453, 1); - private static final ItemHolder IMPERIAL_DIAMOND = new ItemHolder(3456, 1); - private static final ItemHolder MUSICAL_SCORE_THEME_OF_LOVE = new ItemHolder(4408, 1); - private static final ItemHolder MUSICAL_SCORE_THEME_OF_BATTLE = new ItemHolder(4409, 1); - private static final ItemHolder MUSICAL_SCORE_THEME_OF_CELEBRATION = new ItemHolder(4418, 1); - private static final ItemHolder MUSICAL_SCORE_THEME_OF_COMEDY = new ItemHolder(4419, 1); - private static final ItemHolder DYE_S1C3_C = new ItemHolder(4481, 1); // Greater Dye of STR - private static final ItemHolder DYE_S1D3_C = new ItemHolder(4482, 1); // Greater Dye of STR - private static final ItemHolder DYE_C1S3_C = new ItemHolder(4483, 1); // Greater Dye of CON - private static final ItemHolder DYE_C1C3_C = new ItemHolder(4484, 1); // Greater Dye of CON - private static final ItemHolder DYE_D1S3_C = new ItemHolder(4485, 1); // Greater Dye of DEX - private static final ItemHolder DYE_D1C3_C = new ItemHolder(4486, 1); // Greater Dye of DEX - private static final ItemHolder DYE_I1M3_C = new ItemHolder(4487, 1); // Greater Dye of INT - private static final ItemHolder DYE_I1W3_C = new ItemHolder(4488, 1); // Greater Dye of INT - private static final ItemHolder DYE_M1I3_C = new ItemHolder(4489, 1); // Greater Dye of MEN - private static final ItemHolder DYE_M1W3_C = new ItemHolder(4490, 1); // Greater Dye of MEN - private static final ItemHolder DYE_W1I3_C = new ItemHolder(4491, 1); // Greater Dye of WIT - private static final ItemHolder DYE_W1M3_C = new ItemHolder(4492, 1); // Greater Dye of WIT - - public Q00383_TreasureHunt() - { - super(383, Q00383_TreasureHunt.class.getSimpleName(), "Treasure Hunt"); - addStartNpc(ESPEN); - addTalkId(ESPEN, PIRATES_CHEST); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30890-04.htm": - { - htmltext = event; - break; - } - case "30890-05.htm": - { - if (hasQuestItems(player, PIRATES_TREASURE_MAP)) - { - giveAdena(player, 1000, false); - takeItems(player, PIRATES_TREASURE_MAP, -1); - htmltext = event; - } - break; - } - case "30890-06.htm": - { - htmltext = (hasQuestItems(player, PIRATES_TREASURE_MAP)) ? event : "30890-12.html"; - break; - } - case "30890-07.htm": - { - if (hasQuestItems(player, PIRATES_TREASURE_MAP)) - { - qs.startQuest(); - takeItems(player, PIRATES_TREASURE_MAP, -1); - htmltext = event; - } - break; - } - case "30890-08.html": - case "30890-09.html": - case "30890-10.html": - { - if (qs.isCond(1)) - { - htmltext = event; - } - break; - } - case "30890-11.html": - { - if (qs.isCond(1)) - { - qs.setCond(2, true); - htmltext = event; - } - break; - } - case "31148-02.html": - { - if (qs.isCond(2)) - { - if (hasQuestItems(player, THIEF_KEY)) - { - takeItems(player, THIEF_KEY, -1); - qs.exitQuest(true, true); - htmltext = event; - - int bonus = 0; - int random = getRandom(100); - - if (random < 5) - { - rewardItems(player, MITHRIL_GLOVES); - } - else if (random < 6) - { - rewardItems(player, SAGES_WORN_GLOVES); - } - else if (random < 18) - { - rewardItems(player, SCROLL_ENCHANT_ARMOR_D); - } - else if (random < 28) - { - rewardItems(player, SCROLL_ENCHANT_ARMOR_C); - } - else - { - bonus += 500; - } - - random = getRandom(1000); - - if (random < 25) - { - rewardItems(player, DYE_S1C3_C); - } - else if (random < 50) - { - rewardItems(player, DYE_S1D3_C); - } - else if (random < 75) - { - rewardItems(player, DYE_C1S3_C); - } - else if (random < 100) - { - rewardItems(player, DYE_C1C3_C); - } - else if (random < 125) - { - rewardItems(player, DYE_D1S3_C); - } - else if (random < 150) - { - rewardItems(player, DYE_D1C3_C); - } - else if (random < 175) - { - rewardItems(player, DYE_I1M3_C); - } - else if (random < 200) - { - rewardItems(player, DYE_I1W3_C); - } - else if (random < 225) - { - rewardItems(player, DYE_M1I3_C); - } - else if (random < 250) - { - rewardItems(player, DYE_M1W3_C); - } - else if (random < 275) - { - rewardItems(player, DYE_W1I3_C); - } - else if (random < 300) - { - rewardItems(player, DYE_W1M3_C); - } - else - { - bonus += 300; - } - - random = getRandom(100); - - if (random < 4) - { - rewardItems(player, EMERALD); - } - else if (random < 8) - { - rewardItems(player, BLUE_ONYX); - } - else if (random < 12) - { - rewardItems(player, ONYX); - } - else if (random < 16) - { - rewardItems(player, MOONSTONE); - } - else if (random < 20) - { - rewardItems(player, ALEXANDRITE); - } - else if (random < 25) - { - rewardItems(player, FIRE_EMERALD); - } - else if (random < 27) - { - rewardItems(player, IMPERIAL_DIAMOND); - } - else - { - bonus += 500; - } - - random = getRandom(100); - - if (random < 20) - { - rewardItems(player, MUSICAL_SCORE_THEME_OF_LOVE); - } - else if (random < 40) - { - rewardItems(player, MUSICAL_SCORE_THEME_OF_BATTLE); - } - else if (random < 60) - { - rewardItems(player, MUSICAL_SCORE_THEME_OF_CELEBRATION); - } - else if (random < 80) - { - rewardItems(player, MUSICAL_SCORE_THEME_OF_COMEDY); - } - else - { - bonus += 500; - } - - giveAdena(player, bonus, true); - } - else - { - htmltext = "31148-03.html"; - } - } - break; - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs.isCreated()) - { - if (player.getLevel() < MIN_LEVEL) - { - htmltext = "30890-01.html"; - } - else if (!hasQuestItems(player, PIRATES_TREASURE_MAP)) - { - htmltext = "30890-02.html"; - } - else - { - htmltext = "30890-03.htm"; - } - } - else if (qs.isStarted()) - { - if (npc.getId() == ESPEN) - { - if (qs.isCond(1)) - { - htmltext = "30890-13.html"; - } - else if (qs.isCond(2)) - { - htmltext = "30890-14.html"; - } - } - else - { - if (qs.isCond(2)) - { - htmltext = "31148-01.html"; - } - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00420_LittleWing/Q00420_LittleWing.java b/trunk/dist/game/data/scripts/quests/Q00420_LittleWing/Q00420_LittleWing.java index 9df5812ed9..e78b6a319c 100644 --- a/trunk/dist/game/data/scripts/quests/Q00420_LittleWing/Q00420_LittleWing.java +++ b/trunk/dist/game/data/scripts/quests/Q00420_LittleWing/Q00420_LittleWing.java @@ -23,6 +23,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.QuestSound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -30,7 +31,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -424,7 +424,7 @@ public final class Q00420_LittleWing extends Quest { takeItems(attacker, DELUXE_FAIRY_STONE, -1); qs.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.THE_STONE_THE_ELVEN_STONE_BROKE)); + npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.THE_STONE_THE_ELVEN_STONE_BROKE)); } return super.onAttack(npc, attacker, damage, isSummon); } diff --git a/trunk/dist/game/data/scripts/quests/Q00421_LittleWingsBigAdventure/Q00421_LittleWingsBigAdventure.java b/trunk/dist/game/data/scripts/quests/Q00421_LittleWingsBigAdventure/Q00421_LittleWingsBigAdventure.java index fc2e8e74dd..35c865a150 100644 --- a/trunk/dist/game/data/scripts/quests/Q00421_LittleWingsBigAdventure/Q00421_LittleWingsBigAdventure.java +++ b/trunk/dist/game/data/scripts/quests/Q00421_LittleWingsBigAdventure/Q00421_LittleWingsBigAdventure.java @@ -22,6 +22,7 @@ import java.util.HashMap; import java.util.Map; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.QuestSound; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.L2Summon; @@ -32,7 +33,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.util.Util; @@ -401,7 +401,7 @@ public final class Q00421_LittleWingsBigAdventure extends Quest { if (hasQuestItems(attacker, FAIRY_LEAF)) { - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.GIVE_ME_A_FAIRY_LEAF)); + npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.GIVE_ME_A_FAIRY_LEAF)); takeItems(attacker, FAIRY_LEAF, 1); qs.setMemoState(qs.getMemoState() + data.memoStateValue); qs.unset("hits"); @@ -420,13 +420,13 @@ public final class Q00421_LittleWingsBigAdventure extends Quest switch (getRandom(3)) { case 0: - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.WHY_DO_YOU_BOTHER_ME_AGAIN)); + npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.WHY_DO_YOU_BOTHER_ME_AGAIN)); break; case 1: - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, data.message)); + npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, data.message)); break; case 2: - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.LEAVE_NOW_BEFORE_YOU_INCUR_THE_WRATH_OF_THE_GUARDIAN_GHOST)); + npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.LEAVE_NOW_BEFORE_YOU_INCUR_THE_WRATH_OF_THE_GUARDIAN_GHOST)); break; } } diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-00.html b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-00.html deleted file mode 100644 index cc8addcfdb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-00.html +++ /dev/null @@ -1,4 +0,0 @@ -Gatekeeper Batracos:
-You look too inexperienced to make a journey to Tanta Seer Ugoros. Convince Secondary Commander Johnny, then you can go. Johnny has been everywhere and done everything, and I still like him! His approval is good enough for me.
-(There is no quest that is being carried out.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-01.html b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-01.html deleted file mode 100644 index 406f06a4db..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Gatekeeper Batracos:
-There's something about this place, an unescapable feeling of peace. I used to know that feeling very well here. Unfortunately, the truth behind my people's past keeps me from enjoying that feeling anymore. You see, the Plains have been showered with the blood of my people. In the wake of Antharas' death, we struggled for this land, bloodlust fueling brother against brother, father against son.
It was the Seer who united the new tribe of Tanta to defeat the Leto. He is known amongst my people as a great leader, but he also kills any who oppose him.
-I can't just sit back and watch anymore. But I won't send someone to be slaughtered either. I must know you can handle Ugoros in battle!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-02.html b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-02.html deleted file mode 100644 index 1b325e1fdd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Gatekeeper Batracos:
-Secondary Commander Johnny sent you? Odd, he said nothing to me. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-03.html b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-03.html deleted file mode 100644 index df168d6068..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Gatekeeper Batracos:
-You look too inexperienced to make a journey to see Tanta Seer Ugoros. If you can convince Chief Investigator Johnny that you should go, then I will let you pass. Johnny has been everywhere and done everything. He may not be of my people but he has my respect, and anyone who has his will in turn have mine as well. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-04.html b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-04.html deleted file mode 100644 index f8d3eca896..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Gatekeeper Batracos:
-What kept you?? Secondary Commander Johnny already notified me! Here, this is Approval from Johnny.
-When you want to go to Tanta Seer Ugoros, just talk to me. Easy, eh? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-05.html b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-05.html deleted file mode 100644 index a92ec74fca..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Gatekeeper Batracos:
-Well, you still look soft to me, but Johnny gave you his Approval. That's good enough for me.. ready for Tanta Seer Ugoros? Or are you just going to stand there all day.. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-ugoros.html b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-ugoros.html deleted file mode 100644 index 9471c97600..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740-ugoros.html +++ /dev/null @@ -1,4 +0,0 @@ -Gatekeeper Batracos:
-Magnificent! You have defeated the Seer. I must admin, you are tougher than you look. But we must celebrate elsewhere - the poisons of Ugoros still linger here.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740.html b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740.html deleted file mode 100644 index 5513880a2b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32740.html +++ /dev/null @@ -1,6 +0,0 @@ -Gatekeeper Batracos:
-Welcome. These are the tribal lands of the Seer Uguros of Tanta. I, the Gatekeeper Batracos, decide who is able to see the seer and who does not. Judging by the looks of you, I have some advice - turn back and keep your life. That shiny armor won't protect you here.
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-00.htm b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-00.htm deleted file mode 100644 index 3dc85ba686..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-00.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Investigator Johnny:
-Don't stick your nose where it doesn't belong. Have a little respect.
-(This quest is for character levels 82 or over that have completed Poisoned Plains of the Lizardmen.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-01.htm b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-01.htm deleted file mode 100644 index 31d6b8a1ca..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Investigator Johnny:
-I'm a busy guy. Get to the point. I ain't getting any younger.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-02.html b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-02.html deleted file mode 100644 index dd07ca0d4e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Chief Investigator Johnny:
-You really want to see Ugoros? Just forget about it. Not just anyone can go there, and certainly not just any time they like. I know a guy, goes by Gatekeeper Batracos, a stinky meticulous fellow. He can get you to see the Seer. He'd never let in a gutterpup like you, but if he knew you had my respect, it might be a different story.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-03.htm b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-03.htm deleted file mode 100644 index 2568f7dc78..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Chief Investigator Johnny:
-Objectivity is important when it comes to this kind of thing. I don't respect just anyone - I have clear standards. Here's the deal:
-Tanta Lizardmen live in the Plains. Start killing them off and the Tanta Lizardmen Guards will start to show up. If you can manage to take out some of those guards, you've got my respect, without even a word. How about that? You in?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-04.htm b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-04.htm deleted file mode 100644 index 5bf76cfc79..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Investigator Johnny:
-Okay. You're straightforward. I can dig.
-Like I said, you gotta defeat some Tanta Lizardmen Guards, then go see Gatekeeper Batracos and tell him that I sent you. He will bring you to see Tanta Seer Ugoros. You don't even gotta come back here if you don't want. Alright? Later. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-05.html b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-05.html deleted file mode 100644 index 4bc061d528..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Chief Investigator Johnny:
-Ain't defeated a Tanta Lizardmen Guard yet? All talk and no show, huh? I've met your type before. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-06.html b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-06.html deleted file mode 100644 index b331997464..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Chief Investigator Johnny:
-I gotta say, you whipped those Tanta Lizardmen Guards like tired mules. You said you were strong, but you managed to show the muscle behind the words. Not sure why you came back though - like I said, I already told Batracos about you. He's waiting. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-07.htm b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-07.htm deleted file mode 100644 index 6b5706010f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-07.htm +++ /dev/null @@ -1,3 +0,0 @@ -Chief Investigator Johnny:
-Hey hey, tough guy! You made it! Seems like you haven't met Tanta Seer Ugoros yet. Good luck when you do, haha! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-quit.html b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-quit.html deleted file mode 100644 index 906e3eed0c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/32744-quit.html +++ /dev/null @@ -1,3 +0,0 @@ -Chief Investigator Johnny:
-Yeah, whatever dude. Everyone's got their limits, and clearly you don't have what it takes. Later. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/Q00423_TakeYourBestShot.java b/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/Q00423_TakeYourBestShot.java deleted file mode 100644 index f92a879ffa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/Q00423_TakeYourBestShot.java +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00423_TakeYourBestShot; - -import quests.Q00249_PoisonedPlainsOfTheLizardmen.Q00249_PoisonedPlainsOfTheLizardmen; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Take Your Best Shot (423) - * @author Gnacik - * @version 2010-06-26 Based on official server Franz - */ -public class Q00423_TakeYourBestShot extends Quest -{ - // NPCs - private static final int BATRACOS = 32740; - private static final int JOHNNY = 32744; - - // Monster - private static final int TANTA_GUARD = 18862; - - // Item - private static final int SEER_UGOROS_PASS = 15496; - - // Misc - private static final int MIN_LEVEL = 82; - - public Q00423_TakeYourBestShot() - { - super(423, Q00423_TakeYourBestShot.class.getSimpleName(), "Take Your Best Shot!"); - addStartNpc(JOHNNY, BATRACOS); - addTalkId(JOHNNY, BATRACOS); - addFirstTalkId(BATRACOS); - addKillId(TANTA_GUARD); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "32740.html": - case "32740-01.html": - case "32744-02.html": - case "32744-03.htm": - break; - case "32744-04.htm": - st.startQuest(); - break; - case "32744-quit.html": - st.exitQuest(true); - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onFirstTalk(L2Npc npc, L2PcInstance player) - { - if (npc.isInsideRadius(96782, 85918, 0, 100, false, true)) - { - return "32740-ugoros.html"; - } - return "32740.html"; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState st = getQuestState(killer, false); - if ((st != null) && st.isCond(1)) - { - st.setCond(2, true); - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case JOHNNY: - switch (st.getState()) - { - case State.CREATED: - final QuestState _prev = player.getQuestState(Q00249_PoisonedPlainsOfTheLizardmen.class.getSimpleName()); - if ((_prev != null) && _prev.isCompleted() && (player.getLevel() >= MIN_LEVEL)) - { - htmltext = (st.hasQuestItems(SEER_UGOROS_PASS)) ? "32744-07.htm" : "32744-01.htm"; - } - else - { - htmltext = "32744-00.htm"; - } - break; - case State.STARTED: - if (st.isCond(1)) - { - htmltext = "32744-05.html"; - } - else if (st.isCond(2)) - { - htmltext = "32744-06.html"; - } - break; - } - break; - case BATRACOS: - switch (st.getState()) - { - case State.CREATED: - htmltext = (st.hasQuestItems(SEER_UGOROS_PASS)) ? "32740-05.html" : "32740-00.html"; - break; - case State.STARTED: - if (st.isCond(1)) - { - htmltext = "32740-02.html"; - } - else if (st.isCond(2)) - { - st.giveItems(SEER_UGOROS_PASS, 1); - st.exitQuest(true, true); - htmltext = "32740-04.html"; - } - break; - } - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00450_GraveRobberRescue/Q00450_GraveRobberRescue.java b/trunk/dist/game/data/scripts/quests/Q00450_GraveRobberRescue/Q00450_GraveRobberRescue.java index 5885201714..e677cc0c15 100644 --- a/trunk/dist/game/data/scripts/quests/Q00450_GraveRobberRescue/Q00450_GraveRobberRescue.java +++ b/trunk/dist/game/data/scripts/quests/Q00450_GraveRobberRescue/Q00450_GraveRobberRescue.java @@ -19,6 +19,7 @@ package quests.Q00450_GraveRobberRescue; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.QuestSound; import com.l2jserver.gameserver.enums.QuestType; import com.l2jserver.gameserver.model.Location; @@ -29,7 +30,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -153,11 +153,11 @@ public class Q00450_GraveRobberRescue extends Quest { if (getRandom(100) < 50) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.GRUNT_OH)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.GRUNT_OH)); } else { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.GRUNT_WHAT_S_WRONG_WITH_ME)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.GRUNT_WHAT_S_WRONG_WITH_ME)); } npc.deleteMe(); htmltext = null; diff --git a/trunk/dist/game/data/scripts/quests/Q00456_DontKnowDontCare/Q00456_DontKnowDontCare.java b/trunk/dist/game/data/scripts/quests/Q00456_DontKnowDontCare/Q00456_DontKnowDontCare.java index d3978174da..1dffd3c5c0 100644 --- a/trunk/dist/game/data/scripts/quests/Q00456_DontKnowDontCare/Q00456_DontKnowDontCare.java +++ b/trunk/dist/game/data/scripts/quests/Q00456_DontKnowDontCare/Q00456_DontKnowDontCare.java @@ -24,6 +24,7 @@ import java.util.Map; import java.util.Set; import com.l2jserver.gameserver.datatables.ItemTable; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.QuestSound; import com.l2jserver.gameserver.enums.QuestType; import com.l2jserver.gameserver.model.AggroInfo; @@ -37,7 +38,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.util.Util; @@ -354,7 +354,7 @@ public final class Q00456_DontKnowDontCare extends Quest giveItems(player, reward, count); L2Item item = ItemTable.getInstance().getTemplate(reward); - NpcSay packet = new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.S1_RECEIVED_A_S2_ITEM_AS_A_REWARD_FROM_THE_SEPARATED_SOUL); + NpcSay packet = new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.S1_RECEIVED_A_S2_ITEM_AS_A_REWARD_FROM_THE_SEPARATED_SOUL); packet.addStringParameter(player.getName()); packet.addStringParameter(item.getName()); npc.broadcastPacket(packet); diff --git a/trunk/dist/game/data/scripts/quests/Q00457_LostAndFound/Q00457_LostAndFound.java b/trunk/dist/game/data/scripts/quests/Q00457_LostAndFound/Q00457_LostAndFound.java index 5738366b4c..7296e753d9 100644 --- a/trunk/dist/game/data/scripts/quests/Q00457_LostAndFound/Q00457_LostAndFound.java +++ b/trunk/dist/game/data/scripts/quests/Q00457_LostAndFound/Q00457_LostAndFound.java @@ -22,6 +22,7 @@ import java.util.Set; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.datatables.SpawnTable; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.QuestType; import com.l2jserver.gameserver.model.L2Spawn; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -30,7 +31,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.network.serverpackets.NpcSay; @@ -147,7 +147,7 @@ public final class Q00457_LostAndFound extends Quest startQuestTimer("STOP", 1000, npc, player); startQuestTimer("BYE", 3000, npc, player); cancelQuestTimer("CHECK", npc, player); - npc.broadcastPacket(new CreatureSay(npc.getObjectId(), Say2.NPC_ALL, npc.getName(), NpcStringId.AH_FRESH_AIR)); + npc.broadcastPacket(new CreatureSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getName(), NpcStringId.AH_FRESH_AIR)); broadcastNpcSay(npc, player, NpcStringId.AH_FRESH_AIR, false); st.giveItems(PACKAGED_BOOK, 1); st.exitQuest(QuestType.DAILY, true); @@ -246,6 +246,6 @@ public final class Q00457_LostAndFound extends Quest public void broadcastNpcSay(L2Npc npc, L2PcInstance player, NpcStringId stringId, boolean whisper) { - ((whisper) ? player : npc).sendPacket(new NpcSay(npc.getObjectId(), ((whisper) ? Say2.TELL : Say2.ALL), npc.getId(), stringId)); + ((whisper) ? player : npc).sendPacket(new NpcSay(npc.getObjectId(), ((whisper) ? ChatType.TELL : ChatType.NPC_GENERAL), npc.getId(), stringId)); } } \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-01.htm b/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-01.htm deleted file mode 100644 index 515fa75650..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Stan:
-You've seen Sel Mahums train? It's impressive, isn't it. Pinaps fears they are becoming too powerful. He doesn't know what to do. But I do...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-02.htm b/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-02.htm deleted file mode 100644 index a538387fac..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Stan:
-Have you talked to Pinaps? He's worried about all the training going on at the Sel Mahum's camp. If he'd only ask me, I'd tell him how to solve it. But the ideas and opinions of guards are often overlooked, such is life.
-(Only character level 82 or above who have completed It Smells Delicious can take this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-03.htm b/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-03.htm deleted file mode 100644 index 44de1eec70..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Stan:
-Thanks for your hard work. Today Pinaps doesn't have to worry anymore. Worrying just shaves time off your life, makes you wrinkly, and causes gas. A true friend will put up with all that to help take some of the stress away. True friends also bring salmon soup.
-(You can take on this quest once per day, starting at 6:30 am.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-04.htm b/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-04.htm deleted file mode 100644 index a438df1956..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Guard Stan:
-Strength in battle comes from your stomach. Big swords, lots of training, all worthless compared to a belly fully of good food. Hey, can you tell Pinaps not to worry about me? That would be swell.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-05.htm b/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-05.htm deleted file mode 100644 index f4f3254eac..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-05.htm +++ /dev/null @@ -1,5 +0,0 @@ -Guard Stan:
-I've pretty much established at this point that the Sel Mahum draw their fierce power in battle from their delicious Salmon Soup. I cannot allow this. Take salmon from the Sel Mahum Chefs, so that Sel Mahums will know the suffering of life without tasty salmon soup!
-Then remove the shoelaces from dazed Sel Mahums because that is just fun. Teach them for tempting me with their tasty soup!
-How about it? Scared? Keep your eye on the soup. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-06.html b/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-06.html deleted file mode 100644 index 4b48debc69..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Guard Stan:
-What is it? Pinaps is over there. See the face he's making? That means he is thinking real hard, or he forgot what he was doing. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-07.html b/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-07.html deleted file mode 100644 index f0907037c7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/30200-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Guard Stan:
-Thank you! I'll certainly tell Pinaps about you. That's what friends are for, right?
-That was fun. We could stop Sel Mahums from training everyday! Okay, I'm getting hungry... time for soup. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/Q00461_RumbleInTheBase.java b/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/Q00461_RumbleInTheBase.java deleted file mode 100644 index 344790700b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/Q00461_RumbleInTheBase.java +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00461_RumbleInTheBase; - -import java.util.HashMap; -import java.util.Map; - -import quests.Q00252_ItSmellsDelicious.Q00252_ItSmellsDelicious; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.enums.QuestType; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Rumble in the Base (461) - * @author malyelfik - */ -public class Q00461_RumbleInTheBase extends Quest -{ - // NPC - private static final int STAN = 30200; - // Items - private static final int SHINY_SALMON = 15503; - private static final int SHOES_STRING_OF_SEL_MAHUM = 16382; - // Mobs - private static final Map MONSTERS = new HashMap<>(); - - static - { - MONSTERS.put(22780, 581); - MONSTERS.put(22781, 772); - MONSTERS.put(22782, 581); - MONSTERS.put(22783, 563); - MONSTERS.put(22784, 581); - MONSTERS.put(22785, 271); - MONSTERS.put(18908, 782); - } - - public Q00461_RumbleInTheBase() - { - super(461, Q00461_RumbleInTheBase.class.getSimpleName(), "Rumble in the Base"); - addStartNpc(STAN); - addTalkId(STAN); - addKillId(MONSTERS.keySet()); - registerQuestItems(SHINY_SALMON, SHOES_STRING_OF_SEL_MAHUM); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = null; - final QuestState st = getQuestState(player, false); - if (st == null) - { - return htmltext; - } - - if (event.equalsIgnoreCase("30200-05.htm")) - { - st.startQuest(); - htmltext = event; - } - else if (event.equalsIgnoreCase("30200-04.htm")) - { - htmltext = event; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - QuestState st = null; - if (getRandom(1000) >= MONSTERS.get(npc.getId())) - { - return super.onKill(npc, player, isSummon); - } - - if (npc.getId() == 18908) - { - st = getQuestState(player, false); - if ((st != null) && st.isCond(1) && (st.getQuestItemsCount(SHINY_SALMON) < 5)) - { - st.giveItems(SHINY_SALMON, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - if ((st.getQuestItemsCount(SHINY_SALMON) >= 5) && (st.getQuestItemsCount(SHOES_STRING_OF_SEL_MAHUM) >= 10)) - { - st.setCond(2, true); - } - } - } - else - { - final L2PcInstance member = getRandomPartyMember(player, 1); - if (member == null) - { - return super.onKill(npc, player, isSummon); - } - - st = getQuestState(member, false); - if (st.getQuestItemsCount(SHOES_STRING_OF_SEL_MAHUM) < 10) - { - st.giveItems(SHOES_STRING_OF_SEL_MAHUM, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - if ((st.getQuestItemsCount(SHINY_SALMON) >= 5) && (st.getQuestItemsCount(SHOES_STRING_OF_SEL_MAHUM) >= 10)) - { - st.setCond(2, true); - } - } - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - final QuestState prev = player.getQuestState(Q00252_ItSmellsDelicious.class.getSimpleName()); - switch (st.getState()) - { - case State.CREATED: - htmltext = ((player.getLevel() >= 82) && (prev != null) && prev.isCompleted()) ? "30200-01.htm" : "30200-02.htm"; - break; - case State.STARTED: - if (st.isCond(1)) - { - htmltext = "30200-06.html"; - } - else - { - st.addExpAndSp(224784, 342528); - st.exitQuest(QuestType.DAILY, true); - htmltext = "30200-07.html"; - } - break; - case State.COMPLETED: - if (!st.isNowAvailable()) - { - htmltext = "30200-03.htm"; - } - else - { - st.setState(State.CREATED); - htmltext = ((player.getLevel() >= 82) && (prev != null) && (prev.getState() == State.COMPLETED)) ? "30200-01.htm" : "30200-02.htm"; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00463_IMustBeaGenius/Q00463_IMustBeaGenius.java b/trunk/dist/game/data/scripts/quests/Q00463_IMustBeaGenius/Q00463_IMustBeaGenius.java index a89d20c726..d5b8ea540c 100644 --- a/trunk/dist/game/data/scripts/quests/Q00463_IMustBeaGenius/Q00463_IMustBeaGenius.java +++ b/trunk/dist/game/data/scripts/quests/Q00463_IMustBeaGenius/Q00463_IMustBeaGenius.java @@ -21,6 +21,7 @@ package quests.Q00463_IMustBeaGenius; import java.util.HashMap; import java.util.Map; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.QuestSound; import com.l2jserver.gameserver.enums.QuestType; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -29,7 +30,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -187,7 +187,7 @@ public class Q00463_IMustBeaGenius extends Quest if (msg) { - final NpcSay ns = new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.ATT_ATTACK_S1_RO_ROGUE_S2); + final NpcSay ns = new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NpcStringId.ATT_ATTACK_S1_RO_ROGUE_S2); ns.addStringParameter(player.getName()); ns.addStringParameter(String.valueOf(number)); npc.broadcastPacket(ns); diff --git a/trunk/dist/game/data/scripts/quests/Q00501_ProofOfClanAlliance/Q00501_ProofOfClanAlliance.java b/trunk/dist/game/data/scripts/quests/Q00501_ProofOfClanAlliance/Q00501_ProofOfClanAlliance.java index 6e6f86dd08..b12ac649a1 100644 --- a/trunk/dist/game/data/scripts/quests/Q00501_ProofOfClanAlliance/Q00501_ProofOfClanAlliance.java +++ b/trunk/dist/game/data/scripts/quests/Q00501_ProofOfClanAlliance/Q00501_ProofOfClanAlliance.java @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Clan; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Character; @@ -34,7 +35,6 @@ import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.model.skills.AbnormalType; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.util.Util; @@ -289,29 +289,29 @@ public final class Q00501_ProofOfClanAlliance extends Quest if ((lqs.getInt("flag") == 3) && arthea.isScriptValue(15)) { lqs.set("flag", lqs.getInt("flag") + 1); - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.BINGO)); + npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.BINGO)); } else if ((lqs.getInt("flag") == 2) && arthea.isScriptValue(14)) { lqs.set("flag", lqs.getInt("flag") + 1); - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.BINGO)); + npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.BINGO)); } else if ((lqs.getInt("flag") == 1) && arthea.isScriptValue(13)) { lqs.set("flag", lqs.getInt("flag") + 1); - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.BINGO)); + npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.BINGO)); } else if ((lqs.getInt("flag") == 0) && arthea.isScriptValue(12)) { lqs.set("flag", lqs.getInt("flag") + 1); - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.BINGO)); + npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.BINGO)); } else if (lqs.getInt("flag") < 4) { if (getRandom(4) == 0) { lqs.set("flag", lqs.getInt("flag") + 1); - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.BINGO)); + npc.broadcastPacket(new NpcSay(npc, ChatType.NPC_GENERAL, NpcStringId.BINGO)); } } arthea.setScriptValue(arthea.getScriptValue() + 1); diff --git a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-00.htm b/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-00.htm deleted file mode 100644 index e588984788..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-00.htm +++ /dev/null @@ -1,4 +0,0 @@ -Eye of Argos:
-My dear soldier, I'm grateful for your enthusiasm, but I'm afraid that you're not ready to face the wrath of Einhasad!
-(This quest may only be undertaken by characters of level 71 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-01.htm b/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-01.htm deleted file mode 100644 index b5da7f2d2e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-01.htm +++ /dev/null @@ -1,9 +0,0 @@ -Eye of Argos:
-Even after my friends, the giants, perished, and the gods tore my body asunder and imprisoned me here, I stayed quiet.
-Now, to add insult to injury, they've posted their disciples as guards to watch over me, to humiliate what's left of me! I can't stand it any more!
-I'm not as evil as you the children of the world think.
-On the contrary, I love peace!
-I beseech you! If I attack the guards I'll be severely tortured!
-Would you and your soldiers help me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-02.htm b/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-02.htm deleted file mode 100644 index 67956bf04a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-02.htm +++ /dev/null @@ -1,3 +0,0 @@ -Eye of Argos:
-Punish the wicked disciples and then return to me! They're called the Disciples of Protection, the Disciples of Punishment and the Disciples of Authority. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-03.html b/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-03.html deleted file mode 100644 index 4c7a4ecbb5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Eye of Argos:
-You haven't collected 100 marks of disciple yet?
-You must kill them to soothe my anger!
-Save me from my own fury, brave warrior! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-04.html b/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-04.html deleted file mode 100644 index fbb35c0984..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Eye of Argos:
-Thanks to you, my brave soldier, the darkness in my heart is lifting! Give me the proofs you've collected.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-05.html b/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-05.html deleted file mode 100644 index a294686e39..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Eye of Argos:
-Your scruffy appearance belies the passionate sense of justice in your heart, brave warrior!
-Good deeds often go unnoticed and unrewarded, but over the millennia, your simple good deed will be returned a thousand-fold! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-06.html b/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-06.html deleted file mode 100644 index 0566f2fc81..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/31683-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Eye of Argos:
-Weren't you going to bring me the marks of disciple?
-Now you're telling me you won't do it? How dare you insult the mighty Argos! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/Q00601_WatchingEyes.java b/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/Q00601_WatchingEyes.java deleted file mode 100644 index d60df399ab..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00601_WatchingEyes/Q00601_WatchingEyes.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00601_WatchingEyes; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Watching Eyes (601)
- * Original Jython script by disKret. - * @author malyelfik - */ -public class Q00601_WatchingEyes extends Quest -{ - // NPC - private static final int EYE_OF_ARGOS = 31683; - // Item - private static final int PROOF_OF_AVENGER = 7188; - // Monsters - private static final Map MOBS = new HashMap<>(); - - static - { - MOBS.put(21308, 790); - MOBS.put(21309, 820); - MOBS.put(21306, 850); - MOBS.put(21310, 680); - MOBS.put(21311, 630); - } - - // Reward - private static final int[][] REWARD = - { - { - 6699, - 90000 - }, - { - 6698, - 80000 - }, - { - 6700, - 40000 - }, - { - 0, - 230000 - } - }; - - public Q00601_WatchingEyes() - { - super(601, Q00601_WatchingEyes.class.getSimpleName(), "Watching Eyes"); - addStartNpc(EYE_OF_ARGOS); - addTalkId(EYE_OF_ARGOS); - addKillId(MOBS.keySet()); - registerQuestItems(PROOF_OF_AVENGER); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "31683-02.htm": - st.startQuest(); - break; - case "31683-05.html": - if (st.getQuestItemsCount(PROOF_OF_AVENGER) < 100) - { - return "31683-06.html"; - } - - int i = getRandom(4); - if (i < 3) - { - st.giveItems(REWARD[i][0], 5); - st.addExpAndSp(120000, 10000); - } - st.giveAdena(REWARD[i][1], true); - st.exitQuest(true, true); - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - - if ((st != null) && st.isCond(1) && (getRandom(1000) < MOBS.get(npc.getId()))) - { - st.giveItems(PROOF_OF_AVENGER, 1); - if (st.getQuestItemsCount(PROOF_OF_AVENGER) == 100) - { - st.setCond(2, true); - } - else - { - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= 71) ? "31683-01.htm" : "31683-00.htm"; - break; - case State.STARTED: - htmltext = (st.isCond(1)) ? "31683-03.html" : "31683-04.html"; - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-00.htm b/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-00.htm deleted file mode 100644 index c8bcc11492..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-00.htm +++ /dev/null @@ -1,4 +0,0 @@ -Eye of Argos:
-Your courage is commendable, brave warrior, but you're not yet ready to confront Daimon and his evil forces. Improve your skills and come back!
-(This quest may only be undertaken by characters of level 68 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-01.htm b/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-01.htm deleted file mode 100644 index 08f8bdfa6b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-01.htm +++ /dev/null @@ -1,10 +0,0 @@ -Eye of Argos:
-Long ago, when I still had a complete body, my 1000 eyes told me everything that occurred in the world. It was I who told Einhasad of the relationship between Shilen and Gran Kain. When Eva abdicated as the goddess of water and went into hiding, it was I who exposed her.
-But with the creation of the four races, the world became much too complex for me to watch everything that happened. I began opening only 500 of my eyes per day. This led to a sharp division within my personality.
-Half of my mind concentrated on darker events in the world - war, murder, betrayal and corruption. This part of my mind became dark and depressed, and longed to purge the rampant evil from the world.
-The other half of my mind focused on the brighter side of the world - love, art, courage and fealty.This part of my personality fell in love with all the noble things in the world.
-During the brutal war between gods and giants, I refused to disclose the hiding places of giants. Einhasad responded by ripping my body into pieces and pulling out my eyes! He then threw my remains into this valley. Slowly, my two largest eyes became aware of light and darkness. I am the eye that is conscious of light.
-Daimon the White-Eyed inherited the dark world view of Argos. He's determined to purify this world, and has brainwashed the monsters of this valley to help him realize his goal.
-Brave warrior! Help stop Daimon!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-02.htm b/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-02.htm deleted file mode 100644 index 1857e277d9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Eye of Argos:
-Your courage may yet save the world!
-Daimon the White-Eyed uses his underlings to transform monsters into slaves. Once they've been transformed, they're beyond redemption. Kill them so they can rest in peace.
-You can get the eyes of darkness if you kill Buffalo Slaves and Grendel Slaves. When you get 100 eyes of darkness, visit me again. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-03.html b/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-03.html deleted file mode 100644 index 50bb22010e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Eye of Argos:
-Why haven't you collected 100 eyes of darkness yet?
-Act quickly or Daimon will become much more dangerous and powerful! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-04.html b/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-04.html deleted file mode 100644 index f4f5b7e395..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-04.html +++ /dev/null @@ -1,6 +0,0 @@ -Eye of Argos:
-Don't get too full of yourself, young warrior!
-Darkness grows stronger even as we speak!
-If you're truly concerned about the wellbeing of this world, defeat the forces of darkness!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-05.html b/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-05.html deleted file mode 100644 index 1085b3235e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Eye of Argos:
-Your shouts of vengeance could be heard all the way over here! Excellent job, brave warrior! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-06.html b/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-06.html deleted file mode 100644 index 0cf008082e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/31683-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Eye of Argos:
-No one can hide from the allseeing eye! Bring me 100 eyes of darkness! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/Q00602_ShadowOfLight.java b/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/Q00602_ShadowOfLight.java deleted file mode 100644 index 3d5b93be79..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00602_ShadowOfLight/Q00602_ShadowOfLight.java +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00602_ShadowOfLight; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Shadow of Light (602)
- * Original Jython script by disKret. - * @author malyelfik - */ -public class Q00602_ShadowOfLight extends Quest -{ - // NPC - private static final int EYE_OF_ARGOS = 31683; - // Item - private static final int EYE_OF_DARKNESS = 7189; - // Monsters - private static final int[] MOBS = - { - 21299, - 21304 - }; - - // Reward - private static final int[][] REWARD = - { - { - 6699, - 40000, - 120000, - 20000 - }, - { - 6698, - 60000, - 110000, - 15000 - }, - { - 6700, - 40000, - 150000, - 10000 - }, - { - 0, - 100000, - 140000, - 11250 - } - }; - - public Q00602_ShadowOfLight() - { - super(602, Q00602_ShadowOfLight.class.getSimpleName(), "Shadow of Light"); - addStartNpc(EYE_OF_ARGOS); - addTalkId(EYE_OF_ARGOS); - addKillId(MOBS); - registerQuestItems(EYE_OF_DARKNESS); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "31683-02.htm": - st.startQuest(); - break; - case "31683-05.html": - if (st.getQuestItemsCount(EYE_OF_DARKNESS) < 100) - { - return "31683-06.html"; - } - - int i = getRandom(4); - if (i < 3) - { - st.giveItems(REWARD[i][0], 3); - } - st.giveAdena(REWARD[i][1], true); - st.addExpAndSp(REWARD[i][2], REWARD[i][3]); - st.exitQuest(true, true); - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - - if (st == null) - { - return super.onKill(npc, player, isSummon); - } - - int chance = (npc.getId() == MOBS[0]) ? 560 : 800; - - if (st.isCond(1) && (getRandom(1000) < chance)) - { - st.giveItems(EYE_OF_DARKNESS, 1); - if (st.getQuestItemsCount(EYE_OF_DARKNESS) == 100) - { - st.setCond(2, true); - } - else - { - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= 68) ? "31683-01.htm" : "31683-00.htm"; - break; - case State.STARTED: - htmltext = (st.isCond(1)) ? "31683-03.html" : "31683-04.html"; - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31548-01.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31548-01.html deleted file mode 100644 index 4778b4ed08..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31548-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Ancient Stone Tablet:
-Upon closer examination, you notice an inscription describing the exploits of the heroes who defeated Daimon the White-Eyed.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31548-02.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31548-02.html deleted file mode 100644 index c021aad27c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31548-02.html +++ /dev/null @@ -1,5 +0,0 @@ -Ancient Stone Tablet:
-Daimon the White-Eyed's most formidable weapon is his magical ability to instantly render his victim totally immobile!
-[Illegible text]
-As you turn to leave, you hear something fall from the tablet. Upon closer examination, it proves to be a fragment of a mysterious bead. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31548-03.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31548-03.html deleted file mode 100644 index 17e8149195..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31548-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Ancient Stone Tablet:
-You've already read the inscription. Find another tablet. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31549-01.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31549-01.html deleted file mode 100644 index 9014a31067..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31549-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Ancient Stone Tablet:
-Upon closer examination, you notice an inscription describing the exploits of the heroes who defeated Daimon the White-Eyed.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31549-02.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31549-02.html deleted file mode 100644 index ff5bd136b0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31549-02.html +++ /dev/null @@ -1,5 +0,0 @@ -Ancient Stone Tablet:
-"The knight's necklace shone brightly. His strength had sustained him thus far against the powerful magic of Daimon the White-Eyed, and sensing victory, he slowly raised his head. Suddenly, from behind him came..."
-[Illegible text]
-As you turn to leave, you hear something fall to the floor... Upon close examination, you see that it is a fragment of a mysterious bead. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31549-03.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31549-03.html deleted file mode 100644 index 17e8149195..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31549-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Ancient Stone Tablet:
-You've already read the inscription. Find another tablet. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31550-01.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31550-01.html deleted file mode 100644 index 027f99b1b6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31550-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Ancient Stone Tablet:
-Upon closer examination, you notice an inscription describing the exploits of the heroes who defeated Daimon the White-Eyed.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31550-02.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31550-02.html deleted file mode 100644 index 0aeb0d717f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31550-02.html +++ /dev/null @@ -1,6 +0,0 @@ -Mysterious Ancient Tablet:
-"Based on previous adventurers' experience, a fragment certainly exists that may be useful when confronting Daimon the White-Eyed. But even so, Daimon is...
-In that case, you may gather your strength and launch a focused attack, but that does not seem to be optimal. It is vital that his three henchmen be..."
-The rest of the tablet is too damaged to read.
-As you turn around, you suddenly hear the sound of something falling from the tablet. It's a mysterious bead fragment... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31550-03.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31550-03.html deleted file mode 100644 index 17e8149195..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31550-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Ancient Stone Tablet:
-You've already read the inscription. Find another tablet. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31551-01.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31551-01.html deleted file mode 100644 index b5d5d51814..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31551-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Ancient Stone Tablet:
-Upon closer examination, you notice an inscription describing the exploits of the heroes who defeated Daimon the White-Eyed.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31551-02.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31551-02.html deleted file mode 100644 index 0fb92b2471..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31551-02.html +++ /dev/null @@ -1,8 +0,0 @@ -Ancient Stone Tablet:
-"Yeah, those three henchmen pose a problem...", said the warrior with the spear.
-The mage replied, "I agree. Especially the one that keeps restoring Daimon! I'll deal with that rascal myself!"
-The Dwarf girl softly said,
-"Someone's going to have to deal with Daimon. Who can do that? None of us are any match for his powers, even if we use the bead of summoning perfectly!"
-[Illegible text]
-As you turn to leave, you hear something fall from the tablet. Upon close examination, you find that it's a fragment of a mysterious bead. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31551-03.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31551-03.html deleted file mode 100644 index 17e8149195..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31551-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Ancient Stone Tablet:
-You've already read the inscription. Find another tablet. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31552-01.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31552-01.html deleted file mode 100644 index f54ae122eb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31552-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Ancient Stone Tablet:
-Upon closer examination, you notice an inscription describing the exploits of the heroes who defeated Daimon the White-Eyed.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31552-02.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31552-02.html deleted file mode 100644 index 59ef4d297d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31552-02.html +++ /dev/null @@ -1,7 +0,0 @@ -Ancient Stone Tablet:
-The text describes the decisive battles against Daimon the White-Eyed.
-Past heroes used the bead of summoning to call out Daimon before he and his minions were ready.
-
-Now it all makes sense! You know how to defeat Daimon!
-As you stand thinking before the tablet, something falls to the ground. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31552-03.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31552-03.html deleted file mode 100644 index a235b5b288..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31552-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Ancient Stone Tablet:
-You've already read the inscription. Now that you've learned how to defeat Daimon the White-Eyed, go back to Eye of Argos. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-01.htm b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-01.htm deleted file mode 100644 index 2900c0a4d5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-01.htm +++ /dev/null @@ -1,7 +0,0 @@ -Eye of Argos:
-Welcome, traveler!
-My eyes see justice, courage and wisdom within you!
-Our meeting is not mere coincidence, my brave young warrior!
-A trial awaits you. Will you accept the challenge?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-02.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-02.html deleted file mode 100644 index ec1be6d1ef..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Eye of Argos:
-I'm waiting for an adventurer with adequate skills and courage.
-(This quest may only be undertaken by characters of level 73 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-03.htm b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-03.htm deleted file mode 100644 index e3af99ba77..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-03.htm +++ /dev/null @@ -1,7 +0,0 @@ -Eye of Argos:
-Do you know about Daimon the White-Eyed? When Einhasad ripped Argos apart and scattered the pieces throughout the land, I became the bright side of Argos and Daimon became the dark side.
-Daimon has been expanding his powerbase, spreading his evil influence even further. He dreams of expanding his reach globally, but each time, his efforts have been thwarted by heroes like you!
-Now, his force is spreading and his henchmen are wandering about in this land. Will you take up the fight against this demonic scourge?
-First, you must study the methods that past heroes used to stop him.
-You'll find stone tablets describing their accomplishments in several parts of this region. Read them and report back to me what you learn. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-04.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-04.html deleted file mode 100644 index 0d40e02c70..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Eye of Argos:
-Have you read all the inscriptions on the tablets? Daimon clouds my memory so that I can't remember the things about him. Thus, the only ways to defeat him are recorded on the tablets. They are left here and there throughout this area.
-But, Daimon's forces must have been destroying them. You don't have much time, my hero! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-05.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-05.html deleted file mode 100644 index 39642b1e64..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Eye of Argos:
-Oh, you came back!
-Did you find out how the heroes of the past defeated Daimon the White-Eyed?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-06.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-06.html deleted file mode 100644 index 6fa77c95d6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Eye of Argos:
-The bead of summoning? Ah, yes, I haven't forgotten about that one yet! Good job, my hero!
-Now, you must make a bead of summoning! It has the power to summon him from the darkness. You must obtain 200 thoughts of darkness from valley Bandersnatch slaves, Buffalo Slaves and Grendel Slaves and bring them to me. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-07.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-07.html deleted file mode 100644 index 3f28bf51a8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Eye of Argos:
-Where are the thoughts of darkness to make the bead to defeat Daimon of White Eye? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-08.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-08.html deleted file mode 100644 index 99ec839d77..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-08.html +++ /dev/null @@ -1,4 +0,0 @@ -Eye of Argos:
-Have you collected all the thoughts of darkness you need?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-09.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-09.html deleted file mode 100644 index 8485d9bb34..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-09.html +++ /dev/null @@ -1,5 +0,0 @@ -Eye of Argos:
-I can feel his power growing every day!
-Have you collected enough thoughts of darkness to stop him?
-Could it be that he will prevail? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-10.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-10.html deleted file mode 100644 index 9f9f09bf28..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-10.html +++ /dev/null @@ -1,5 +0,0 @@ -Eye of Argos:
-You've created the vessel that will contain the power to draw him out.
-I shall put the voice to call him out in this thought of darkness. You, my hero, will you give me some time alone? I'll be ready shortly after. Come back to me then..
-I hope we're not too late! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-11.html b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-11.html deleted file mode 100644 index bf30991e25..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/31683-11.html +++ /dev/null @@ -1,3 +0,0 @@ -Eye of Argos:
-Where are the eyes of darkness you've collected? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/Q00603_DaimonTheWhiteEyedPart1.java b/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/Q00603_DaimonTheWhiteEyedPart1.java deleted file mode 100644 index 2420530369..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00603_DaimonTheWhiteEyedPart1/Q00603_DaimonTheWhiteEyedPart1.java +++ /dev/null @@ -1,219 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00603_DaimonTheWhiteEyedPart1; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Daimon the White-Eyed - Part 1 (603) - * @author Pandragon - */ -public final class Q00603_DaimonTheWhiteEyedPart1 extends Quest -{ - // NPC - private static final int EYE_OF_ARGOS = 31683; - private static final int TABLET_1 = 31548; - private static final int TABLET_2 = 31549; - private static final int TABLET_3 = 31550; - private static final int TABLET_4 = 31551; - private static final int TABLET_5 = 31552; - // Items - private static final int SPIRIT_OF_DARKNESS = 7190; - private static final int BROKEN_CRYSTAL = 7191; - // Monsters - private final Map MONSTER_CHANCES = new HashMap<>(); - { - MONSTER_CHANCES.put(21297, 0.5); // Canyon Bandersnatch Slave - MONSTER_CHANCES.put(21299, 0.519); // Buffalo Slave - MONSTER_CHANCES.put(21304, 0.673); // Grendel Slave - } - // Reward - private static final int UNFINISHED_CRYSTAL = 7192; - // Misc - private static final int MIN_LVL = 73; - - public Q00603_DaimonTheWhiteEyedPart1() - { - super(603, Q00603_DaimonTheWhiteEyedPart1.class.getSimpleName(), "Daimon the White-Eyed - Part 1"); - addStartNpc(EYE_OF_ARGOS); - addTalkId(EYE_OF_ARGOS, TABLET_1, TABLET_2, TABLET_3, TABLET_4, TABLET_5); - addKillId(MONSTER_CHANCES.keySet()); - registerQuestItems(SPIRIT_OF_DARKNESS, BROKEN_CRYSTAL); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - String htmltext = null; - if (qs == null) - { - return htmltext; - } - - switch (event) - { - case "31683-03.htm": - { - if (qs.isCreated()) - { - qs.set("tablet_" + TABLET_1, 0); - qs.set("tablet_" + TABLET_2, 0); - qs.set("tablet_" + TABLET_3, 0); - qs.set("tablet_" + TABLET_4, 0); - qs.set("tablet_" + TABLET_5, 0); - qs.startQuest(); - htmltext = event; - } - break; - } - case "31548-02.html": - case "31549-02.html": - case "31550-02.html": - case "31551-02.html": - case "31552-02.html": - { - if (qs.getCond() < 6) - { - giveItems(player, BROKEN_CRYSTAL, 1); - qs.set("TABLET_" + npc.getId(), 1); - qs.setCond(qs.getCond() + 1, true); - htmltext = event; - } - break; - } - case "31683-06.html": - { - if (qs.isCond(6) && (getQuestItemsCount(player, BROKEN_CRYSTAL) >= 5)) - { - takeItems(player, BROKEN_CRYSTAL, -1); - qs.setCond(7, true); - htmltext = event; - } - break; - } - case "31683-10.html": - { - if (qs.isCond(8)) - { - if (getQuestItemsCount(player, SPIRIT_OF_DARKNESS) >= 200) - { - takeItems(player, SPIRIT_OF_DARKNESS, -1); - giveItems(player, UNFINISHED_CRYSTAL, 1); - qs.exitQuest(true, true); - htmltext = event; - } - else - { - htmltext = "31683-11.html"; - } - } - break; - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance talker) - { - final QuestState qs = getQuestState(talker, true); - String htmltext = getNoQuestMsg(talker); - switch (qs.getState()) - { - case State.CREATED: - { - if (npc.getId() == EYE_OF_ARGOS) - { - htmltext = ((talker.getLevel() < MIN_LVL) ? "31683-02.html" : "31683-01.htm"); - } - break; - } - case State.STARTED: - { - if (npc.getId() == EYE_OF_ARGOS) - { - switch (qs.getCond()) - { - case 1: - case 2: - case 3: - case 4: - case 5: - { - htmltext = "31683-04.html"; - break; - } - case 6: - { - htmltext = "31683-05.html"; - break; - } - case 7: - { - htmltext = "31683-07.html"; - break; - } - case 8: - { - htmltext = "31683-08.html"; - break; - } - } - } - else if (qs.getInt("TABLET_" + npc.getId()) == 0) - { - htmltext = npc.getId() + "-01.html"; - } - else - { - htmltext = npc.getId() + "-03.html"; - } - break; - } - case State.COMPLETED: - { - htmltext = getAlreadyCompletedMsg(talker); - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(killer, 7, 3, npc); - if (qs != null) - { - if (giveItemRandomly(qs.getPlayer(), npc, SPIRIT_OF_DARKNESS, 1, 200, MONSTER_CHANCES.get(npc.getId()), true)) - { - qs.setCond(8, true); - } - } - return super.onKill(npc, killer, isSummon); - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-01.htm b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-01.htm deleted file mode 100644 index 8a22ccc13b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-Greetings, stranger! Are you a mercenary? Excellent! Will you fight for the Ketra Orcs?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-02.htm b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-02.htm deleted file mode 100644 index bdb2b7e879..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-Do you actually think a weakling like you can stand up to the mighty Ketra Orcs? Ha! I can't believe you've lasted this long! Scram, pencilneck!
-(Only a character of level 74 or above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-03.htm b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-03.htm deleted file mode 100644 index caf974954c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Messenger Wahkan:
-You're nothing but a filthy maggot! A dog of the Varka Silenos! Did you enjoy licking their vile boots?! Get out of my sight! You sicken me! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-04.htm b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-04.htm deleted file mode 100644 index e15d1a617c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-04.htm +++ /dev/null @@ -1,5 +0,0 @@ -Ketra's Messenger Wahkan:
-Well, I suppose I'll give you a chance... If you can gain my trust, the Ketras will trust you as well. Your test is simple. Annihilate those filthy Varka Silenos! Kill as many as you can! As proof, bring back 100 badges of Varka Soldiers.
-Get the badges by slaying Varka Silenos Recruits, Footmen, Scouts, Hunters and Shamans. This will build trust with our tribe.
-Now get going! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-05.htm b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-05.htm deleted file mode 100644 index f38da4a4fc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-05.htm +++ /dev/null @@ -1,7 +0,0 @@ -Ketra's Messenger Wahkan:
-There are several phases of friendship:
-Fight bravely for the Ketra, and the Ketra will take care of you.
-You must kill not only the henchmen but also the commander to win the war against the Varka Silenos Village. Kill every goatee you can find! Keep killing them! The war isn't over until all the filthy Varka are wiped off the earth!
-I will give more confidence and trust to those who bring the insignia of the Wahkan Varka Rank - 200 soldiers with the insignia of the Varka Rank - 100 Non-Commissioned Officers. The insignia of the Varka Rank - Non-Commissioned Officer can be obtained when you kill the Priest of Varka Silenos, a Warrior, a Spiritual Medium, a Non-Commissioned Officer, a Chief Officiating Priest, a Commander of an Army Corps and an Elite Military Escort. Go forward, friends of Ketra!
-Remember not to lay a finger on our Ketra Orc tribe! This would destroy our alliance! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-06.htm b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-06.htm deleted file mode 100644 index 57068e44c6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-06.htm +++ /dev/null @@ -1,6 +0,0 @@ -Ketra's Messenger Wahkan:
-You're the best friend the Ketra ever had! The more you fight for the Ketra, the more we will trust you.
-Our war against the Varka Orcs continues. We must drive those revolting goat beards from the face of the earth! Kill Varka Silenos great mystics, captains, grand seers, prophets, prophet's disciples, prophet's royal guards, chief magi and chief escorts. Kill them all and take their badges as proof.
-Bring back 300 badges of grunts, 200 badges of officers and 100 badges of captains. Good luck, my friend!
-However, if you laid a hand on our Ketra Orcs in the middle, our confidence in you will fade away and our alliance with you will be destroyed!! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-07.htm b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-07.htm deleted file mode 100644 index 51433f3bfd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-07.htm +++ /dev/null @@ -1,5 +0,0 @@ -Ketra's Messenger Wahkan:
-Ha ha ha! I'll bet those filthy goat beards peed all over themselves! Such is the pleasure of an overwhelming victory! Our job isn't finished yet, however. This war won't be over until every single Varka lies dead!
-Your excellent reputation is spreading like wildfire among the Ketras! However, it is said that there are several steps in friendship. You're now in the middle. If you want to raise our esteem for you even further, attack the Varka Silenos again and bring us 300 badges of grunts, 300 badges of officers, 200 badges of captains and a Totem of Valor. You are fully qualified. Show your real power. The stronger someone is, the more he will be loved by Ketras! You can get the totem by successfully finishing the Prove Your Courage! quest assigned by Hierarch Kadun Zu Ketra.
-However, if you laid a hand on our Ketra Orcs in the middle, our confidence in you will fade away and our alliance with you will be destroyed!! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-08.htm b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-08.htm deleted file mode 100644 index 788bf304e6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-08.htm +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-This mission will earn you the Ketra's highest level of trust. This task will not be very difficult for the strong one like you. You must kill the Varka Silenos and bring us 400 badges of grunts, 400 badges of officers and 200 badges of captains as well as the Totem of Wisdom. The Totem of Wisdom can be obtained by killing Mos, the commander of the Varkas, longtime scourge of the Ketras. However, you must speak with Hierarch Kadun Zu Ketra for more details on the quest, known as Slay the Enemy Commander before killing Mos! Go ahead! I have no doubt that you will prevail!
-However, if you laid a hand on our Ketra Orcs in the middle, our confidence in you will fade away and our alliance with you will be destroyed!! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-09.htm b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-09.htm deleted file mode 100644 index b44b9a77c7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-09.htm +++ /dev/null @@ -1,5 +0,0 @@ -Ketra's Messenger Wahkan:
-Ha! Hello, friend! What can the Ketras do for you today? You are truly our dearest friend!
-But don't forget, Ketras live in the moment, and our memories are short... Once a friend leaves us, it is as if they were never here. What's past is past.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-10.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-10.html deleted file mode 100644 index 47a5ff77e2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Messenger Wahkan:
-Yo, stranger! Will you join our struggle against the filthy Varka Silenos? I, for one, can't wait to taste their blood! Quickly, go to the battlefield and kill Varka Silenos! As proof, bring back 100 badges of grunts! Then you shall surely become a friend of the Ketra Orcs. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-11.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-11.html deleted file mode 100644 index 4bb9613baf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-11.html +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-Have you brought the badges of the goat beards? How many did you kill?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-12.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-12.html deleted file mode 100644 index badbfb47f1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-12.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Messenger Wahkan:
-You've formed a friendship with the Ketra forged in blood and fire! Take this Mark of Ketra's Alliance - Level 1. We only award them to those we consider our true friends. Congratulations! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-12a.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-12a.html deleted file mode 100644 index 1695b9a11d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-12a.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Messenger Wahkan:
-We'll reward our true friends. Help us in battle! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-12b.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-12b.html deleted file mode 100644 index 30612b1c85..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-12b.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Messenger Wahkan:
-Fellow Ketra soldier, we value your friendship! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-13.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-13.html deleted file mode 100644 index 2bfe8b92ea..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-13.html +++ /dev/null @@ -1,6 +0,0 @@ -Ketra's Messenger Wahkan:
-Have you massacred the Varka Silenos yet? Remember, you promised to bring back 200 badges of grunts and 100 badges of officers as proof!
-We treat our friends very well, you're not thinking about changing your mind, are you?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-14.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-14.html deleted file mode 100644 index a8b9e37577..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-14.html +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-Friend, how did you repay us for the trust we've shown you? Where's the proof?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-15.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-15.html deleted file mode 100644 index b1da709139..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-15.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Messenger Wahkan:
-Good job, friend! We thank you for your strong friendship. Please accept this Mark of Ketra's Alliance - Level 2. Warehouse Keeper Jaff will let you use the warehouse now! Congratulations! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-16.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-16.html deleted file mode 100644 index e26abe3b43..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-16.html +++ /dev/null @@ -1,5 +0,0 @@ -Ketra's Messenger Wahkan:
-Where are the 300 badges of grunts, 200 badges of officers and 100 badges of captains you promised to bring back from the Varka Silenos? Surely this isn't too hard for you?! Do you want to back out of our agreement?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-17.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-17.html deleted file mode 100644 index fe55c584f0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-17.html +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-Friend, show those goat beards the power of Pa'agrio's fire! This fight isn't over until every single Varka Silenos is dead! How many have you killed?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-18.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-18.html deleted file mode 100644 index 8a442d55fd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-18.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Messenger Wahkan:
-Excellent, brave comrade! I won't be satisfied until I've ground the bones of every one of those filthy goat beards into dust! Please accept this Mark of Ketra's Alliance - Level 3. You're now permitted to obtain specialty items from Trader Jumara and to receive the blessing of Asefa, guide of dead souls! Good job! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-19.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-19.html deleted file mode 100644 index 25ab97de02..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-19.html +++ /dev/null @@ -1,5 +0,0 @@ -Ketra's Messenger Wahkan:
-What are you doing, dear comrade? Please, attack the Varka Silenos and bring us 300 badges of grunts, 300 badges of officers, 200 badges of captains and the Totem of Valor! This totem can be obtained by fulfilling the Prove your Courage quest, a mission assigned by Hierarch Kadun Zu Ketra. You don't want to quit, do you?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-20.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-20.html deleted file mode 100644 index b88274f410..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-20.html +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-Ha! That's wonderful! Those arrogant Varka Silenos have tasted Orcish Steel! Ha! Keep up the good work!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-21.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-21.html deleted file mode 100644 index 8817dd60c3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-21.html +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-You're a most noble Warrior, friend of the Ketra! A true hero to our people! Please accept this Mark of Ketra's Alliance - Level 4! Now Gatekeeper Kurfa will teleport you to nearby villages!
-There is but one level of trust left for you to attain! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-22.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-22.html deleted file mode 100644 index 660d32d064..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-22.html +++ /dev/null @@ -1,5 +0,0 @@ -Ketra's Messenger Wahkan:
-The Varka Silenos are doomed, just fight a little longer! You must try harder! Attack them and bring back 400 badges of grunts, 400 badges of officers and 200 badges of captains, as well as a Totem of Wisdom. The Totem of Wisdom can be obtained by fulfilling the Slay the Enemy Commander quest, a mission assigned by Hierarch Kadun Zu Ketra. We have faith in you!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-23.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-23.html deleted file mode 100644 index 0267e75abb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-23.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Messenger Wahkan:
-Excellent work! Please accept this Mark of Ketra's Alliance - Level 5! This is the highest honor of trust that we Ketra bestow! You are now allowed to purchase specialty items and teleport directly to the nearest battlefield with the assistance of Gatekeeper Kurfa. Congratulations! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-24.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-24.html deleted file mode 100644 index e96864f11a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-24.html +++ /dev/null @@ -1,5 +0,0 @@ -Ketra's Messenger Wahkan:
-You're the best friend the Ketra ever had! There is no higher honor we can bestow upon you! What are you thinking, my friend?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-25.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-25.html deleted file mode 100644 index 764b17e501..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-25.html +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-How can you leave us like this?! Don't be a fool! You would sever our relationship, after all we've been through?! Are you a fool? Think carefully, my friend! Such decisions are irreversible!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-26.html b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-26.html deleted file mode 100644 index 25a90a1131..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/31371-26.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Messenger Wahkan:
-You are no longer our friend! Get out of my sight! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/Q00605_AllianceWithKetraOrcs.java b/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/Q00605_AllianceWithKetraOrcs.java deleted file mode 100644 index 037ae8cb8c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/Q00605_AllianceWithKetraOrcs.java +++ /dev/null @@ -1,333 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00605_AllianceWithKetraOrcs; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Alliance with Ketra Orcs (605) - * @author malyelfik - */ -public class Q00605_AllianceWithKetraOrcs extends Quest -{ - private static class DropInfo - { - private final int _chance; - private final int _minCond; - private final int _itemId; - - public DropInfo(int chance, int minCond) - { - _chance = chance; - _minCond = minCond; - switch (_minCond) - { - case 1: - _itemId = VARKA_BADGE_SOLDIER; - break; - case 2: - _itemId = VARKA_BADGE_OFFICER; - break; - default: - _itemId = VARKA_BADGE_CAPTAIN; - break; - } - } - - public int getMinCond() - { - return _minCond; - } - - public int getChance() - { - return _chance; - } - - public int getItemId() - { - return _itemId; - } - } - - // NPC - private static final int WAHKAN = 31371; - // Monsters - private static final Map MOBS = new HashMap<>(); - static - { - MOBS.put(21350, new DropInfo(500, 1)); // Varka Silenos Recruit - MOBS.put(21351, new DropInfo(500, 1)); // Varka Silenos Footman - MOBS.put(21353, new DropInfo(509, 1)); // Varka Silenos Scout - MOBS.put(21354, new DropInfo(521, 1)); // Varka Silenos Hunter - MOBS.put(21355, new DropInfo(519, 1)); // Varka Silenos Shaman - MOBS.put(21357, new DropInfo(500, 2)); // Varka Silenos Priest - MOBS.put(21358, new DropInfo(500, 2)); // Varka Silenos Warrior - MOBS.put(21360, new DropInfo(509, 2)); // Varka Silenos Medium - MOBS.put(21361, new DropInfo(518, 2)); // Varka Silenos Magus - MOBS.put(21362, new DropInfo(518, 2)); // Varka Silenos Officer - MOBS.put(21364, new DropInfo(527, 2)); // Varka Silenos Seer - MOBS.put(21365, new DropInfo(500, 3)); // Varka Silenos Great Magus - MOBS.put(21366, new DropInfo(500, 3)); // Varka Silenos General - MOBS.put(21368, new DropInfo(508, 3)); // Varka Silenos Great Seer - MOBS.put(21369, new DropInfo(628, 2)); // Varka's Commander - MOBS.put(21370, new DropInfo(604, 2)); // Varka's Elite Guard - MOBS.put(21371, new DropInfo(627, 3)); // Varka's Head Magus - MOBS.put(21372, new DropInfo(604, 3)); // Varka's Head Guard - MOBS.put(21373, new DropInfo(649, 3)); // Varka's Prophet - MOBS.put(21374, new DropInfo(626, 3)); // Prophet's Guard - MOBS.put(21375, new DropInfo(626, 3)); // Disciple of Prophet - } - // Items - private static final int VARKA_BADGE_SOLDIER = 7216; - private static final int VARKA_BADGE_OFFICER = 7217; - private static final int VARKA_BADGE_CAPTAIN = 7218; - private static final int VALOR_TOTEM = 7219; - private static final int WISDOM_TOTEM = 7220; - private static final int[] KETRA_MARKS = - { - 7211, // Mark of Ketra's Alliance - Level 1 - 7212, // Mark of Ketra's Alliance - Level 2 - 7213, // Mark of Ketra's Alliance - Level 3 - 7214, // Mark of Ketra's Alliance - Level 4 - 7215, // Mark of Ketra's Alliance - Level 5 - }; - private static final int[] VARKA_MARKS = - { - 7221, // Mark of Varka's Alliance - Level 1 - 7222, // Mark of Varka's Alliance - Level 2 - 7223, // Mark of Varka's Alliance - Level 3 - 7224, // Mark of Varka's Alliance - Level 4 - 7225, // Mark of Varka's Alliance - Level 5 - }; - // Misc - private static final int MIN_LEVEL = 74; - private static final int[] SOLDIER_BADGE_COUNT = - { - 100, // cond 1 - 200, // cond 2 - 300, // cond 3 - 300, // cond 4 - 400, // cond 5 - }; - private static final int[] OFFICER_BADGE_COUNT = - { - 0, // cond 1 - 100, // cond 2 - 200, // cond 3 - 300, // cond 4 - 400, // cond 5 - }; - private static final int[] CAPTAIN_BADGE_COUNT = - { - 0, // cond 1 - 0, // cond 2 - 100, // cond 3 - 200, // cond 4 - 200, // cond 5 - }; - - public Q00605_AllianceWithKetraOrcs() - { - super(605, Q00605_AllianceWithKetraOrcs.class.getSimpleName(), "Alliance with Ketra Orcs"); - addStartNpc(WAHKAN); - addTalkId(WAHKAN); - addKillId(MOBS.keySet()); - registerQuestItems(VARKA_BADGE_SOLDIER, VARKA_BADGE_OFFICER, VARKA_BADGE_CAPTAIN); - } - - private boolean canGetItem(QuestState st, int itemId) - { - int count = 0; - switch (itemId) - { - case VARKA_BADGE_SOLDIER: - count = SOLDIER_BADGE_COUNT[st.getCond() - 1]; - break; - case VARKA_BADGE_OFFICER: - count = OFFICER_BADGE_COUNT[st.getCond() - 1]; - break; - case VARKA_BADGE_CAPTAIN: - count = CAPTAIN_BADGE_COUNT[st.getCond() - 1]; - break; - } - if (st.getQuestItemsCount(itemId) < count) - { - return true; - } - return false; - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "31371-12a.html": - case "31371-12b.html": - case "31371-25.html": - break; - case "31371-04.htm": - if (hasAtLeastOneQuestItem(player, VARKA_MARKS)) - { - return "31371-03.htm"; - } - st.setState(State.STARTED); - st.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT); - for (int i = 0; i < KETRA_MARKS.length; i++) - { - if (st.hasQuestItems(KETRA_MARKS[i])) - { - st.setCond(i + 2); - return "31371-0" + (i + 5) + ".htm"; - } - } - st.setCond(1); - break; - case "31371-12.html": - if (st.getQuestItemsCount(VARKA_BADGE_SOLDIER) < SOLDIER_BADGE_COUNT[0]) - { - return getNoQuestMsg(player); - } - st.takeItems(VARKA_BADGE_SOLDIER, -1); - st.giveItems(KETRA_MARKS[0], 1); - st.setCond(2, true); - break; - case "31371-15.html": - if ((st.getQuestItemsCount(VARKA_BADGE_SOLDIER) < SOLDIER_BADGE_COUNT[1]) || (st.getQuestItemsCount(VARKA_BADGE_OFFICER) < OFFICER_BADGE_COUNT[1])) - { - return getNoQuestMsg(player); - } - takeItems(player, -1, VARKA_BADGE_SOLDIER, VARKA_BADGE_OFFICER, KETRA_MARKS[0]); - st.giveItems(KETRA_MARKS[1], 1); - st.setCond(3, true); - break; - case "31371-18.html": - if ((st.getQuestItemsCount(VARKA_BADGE_SOLDIER) < SOLDIER_BADGE_COUNT[2]) || (st.getQuestItemsCount(VARKA_BADGE_OFFICER) < OFFICER_BADGE_COUNT[2]) || (st.getQuestItemsCount(VARKA_BADGE_CAPTAIN) < CAPTAIN_BADGE_COUNT[2])) - { - return getNoQuestMsg(player); - } - takeItems(player, -1, VARKA_BADGE_SOLDIER, VARKA_BADGE_OFFICER, VARKA_BADGE_CAPTAIN, KETRA_MARKS[1]); - st.giveItems(KETRA_MARKS[2], 1); - st.setCond(4, true); - break; - case "31371-21.html": - if (!st.hasQuestItems(VALOR_TOTEM) || (st.getQuestItemsCount(VARKA_BADGE_SOLDIER) < SOLDIER_BADGE_COUNT[3]) || (st.getQuestItemsCount(VARKA_BADGE_OFFICER) < OFFICER_BADGE_COUNT[3]) || (st.getQuestItemsCount(VARKA_BADGE_CAPTAIN) < CAPTAIN_BADGE_COUNT[3])) - { - return getNoQuestMsg(player); - } - takeItems(player, -1, VARKA_BADGE_SOLDIER, VARKA_BADGE_OFFICER, VARKA_BADGE_CAPTAIN, VALOR_TOTEM, KETRA_MARKS[2]); - st.giveItems(KETRA_MARKS[3], 1); - st.setCond(5, true); - break; - case "31371-26.html": - takeItems(player, -1, KETRA_MARKS); - takeItems(player, -1, VALOR_TOTEM, WISDOM_TOTEM); - st.exitQuest(true, true); - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final L2PcInstance member = getRandomPartyMemberState(killer, State.STARTED); - if (member != null) - { - final QuestState st = getQuestState(member, false); - final DropInfo info = MOBS.get(npc.getId()); - if ((st.getCond() >= info.getMinCond()) && (st.getCond() < 6) && canGetItem(st, info.getItemId()) && (getRandom(1000) < info.getChance())) - { - st.giveItems(info.getItemId(), 1); - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? "31371-01.htm" : "31371-02.htm"; - break; - case State.STARTED: - switch (st.getCond()) - { - case 1: - htmltext = (st.getQuestItemsCount(VARKA_BADGE_SOLDIER) >= SOLDIER_BADGE_COUNT[0]) ? "31371-11.html" : "31371-10.html"; - break; - case 2: - htmltext = (st.hasQuestItems(KETRA_MARKS[0]) && (st.getQuestItemsCount(VARKA_BADGE_SOLDIER) >= SOLDIER_BADGE_COUNT[1]) && (st.getQuestItemsCount(VARKA_BADGE_OFFICER) >= OFFICER_BADGE_COUNT[1])) ? "31371-14.html" : "31371-13.html"; - break; - case 3: - htmltext = (st.hasQuestItems(KETRA_MARKS[1]) && (st.getQuestItemsCount(VARKA_BADGE_SOLDIER) >= SOLDIER_BADGE_COUNT[2]) && (st.getQuestItemsCount(VARKA_BADGE_OFFICER) >= OFFICER_BADGE_COUNT[2]) && (st.getQuestItemsCount(VARKA_BADGE_CAPTAIN) >= CAPTAIN_BADGE_COUNT[2])) ? "31371-17.html" : "31371-16.html"; - break; - case 4: - htmltext = (hasQuestItems(player, KETRA_MARKS[2], VALOR_TOTEM) && (st.getQuestItemsCount(VARKA_BADGE_SOLDIER) >= SOLDIER_BADGE_COUNT[3]) && (st.getQuestItemsCount(VARKA_BADGE_OFFICER) >= OFFICER_BADGE_COUNT[3]) && (st.getQuestItemsCount(VARKA_BADGE_CAPTAIN) >= CAPTAIN_BADGE_COUNT[3])) ? "31371-20.html" : "31371-19.html"; - break; - case 5: - if (!st.hasQuestItems(KETRA_MARKS[3]) || !st.hasQuestItems(WISDOM_TOTEM) || (st.getQuestItemsCount(VARKA_BADGE_SOLDIER) < SOLDIER_BADGE_COUNT[4]) || (st.getQuestItemsCount(VARKA_BADGE_OFFICER) < OFFICER_BADGE_COUNT[4]) || (st.getQuestItemsCount(VARKA_BADGE_CAPTAIN) < CAPTAIN_BADGE_COUNT[4])) - { - return "31371-22.html"; - } - st.setCond(6, true); - takeItems(player, -1, VARKA_BADGE_SOLDIER, VARKA_BADGE_OFFICER, VARKA_BADGE_CAPTAIN, WISDOM_TOTEM, KETRA_MARKS[3]); - st.giveItems(KETRA_MARKS[4], 1); - htmltext = "31371-23.html"; - break; - case 6: - if (st.hasQuestItems(KETRA_MARKS[4])) - { - htmltext = "31371-24.html"; - } - break; - } - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-01.htm b/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-01.htm deleted file mode 100644 index af59ec6385..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Kadun Zu Ketra:
-We must destroy the Varka Silenos, our ancient rivals! Who will join our cause?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-02.htm b/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-02.htm deleted file mode 100644 index 7bedf38634..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Kadun Zu Ketra:
-Your courage is admirable, but your abilities are lacking! Come back when you've developed your skills a bit more.
-(This quest may only be undertaken by a character of level 74 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-03.htm b/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-03.htm deleted file mode 100644 index caa35aa76c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Kadun Zu Ketra:
-Attack the garrison of the Varka Silenos and kill as many of them as possible! Cut off their Shillien Manes and bring them back as proof of your valor! Bring back 100 of them and I'll give you a reward! Tejakar Ketra! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-04.html b/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-04.html deleted file mode 100644 index 7ef128ad98..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-04.html +++ /dev/null @@ -1,6 +0,0 @@ -Kadun Zu Ketra:
-My colleague, have you slaughtered our enemies, the warriors of Varka Silenos? Did you hear their pitiful cries of defeat?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-05.html b/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-05.html deleted file mode 100644 index 75d63ab3f1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Kadun Zu Ketra:
-Wipe out the enemy! Don't let any Varka Silenos survive! Kill them all! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-06.html b/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-06.html deleted file mode 100644 index 4a709f67d5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Kadun Zu Ketra:
-The fight must go on! Victory is ours! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-07.html b/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-07.html deleted file mode 100644 index c53d3fa455..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-07.html +++ /dev/null @@ -1,6 +0,0 @@ -Kadun Zu Ketra:
-Excellent! Today's victory will always be remembered! Oh, brave warrior! You'll be well-rewarded for your valor! At one time, this Buffalo horn was only given to the bravest soldiers of our tribe. It's quite valuable! You could trade it for something you really need!
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-08.html b/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-08.html deleted file mode 100644 index c6da635562..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Kadun Zu Ketra:
-Didn't I ask for at least 100 Shillien Manes? Return to the battlefield now! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-09.html b/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-09.html deleted file mode 100644 index 1b9b28078d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/31370-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Kadun Zu Ketra:
-Even the most invincible warrior should take a break once in a while! You've done well! Come back when you're rested! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/Q00606_BattleAgainstVarkaSilenos.java b/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/Q00606_BattleAgainstVarkaSilenos.java deleted file mode 100644 index 792c04a49f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/Q00606_BattleAgainstVarkaSilenos.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00606_BattleAgainstVarkaSilenos; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Battle against Varka Silenos (606) - * @author malyelfik - */ -public class Q00606_BattleAgainstVarkaSilenos extends Quest -{ - // NPC - private static final int KADUN = 31370; - // Monsters - private static final Map MOBS = new HashMap<>(); - static - { - MOBS.put(21350, 500); // Varka Silenos Recruit - MOBS.put(21353, 510); // Varka Silenos Scout - MOBS.put(21354, 522); // Varka Silenos Hunter - MOBS.put(21355, 519); // Varka Silenos Shaman - MOBS.put(21357, 529); // Varka Silenos Priest - MOBS.put(21358, 529); // Varka Silenos Warrior - MOBS.put(21360, 539); // Varka Silenos Medium - MOBS.put(21362, 539); // Varka Silenos Officer - MOBS.put(21364, 558); // Varka Silenos Seer - MOBS.put(21365, 568); // Varka Silenos Great Magus - MOBS.put(21366, 568); // Varka Silenos General - MOBS.put(21368, 568); // Varka Silenos Great Seer - MOBS.put(21369, 664); // Varka's Commander - MOBS.put(21371, 713); // Varka's Head Magus - MOBS.put(21373, 738); // Varka's Prophet - } - // Items - private static final int HORN = 7186; - private static final int MANE = 7233; - // Misc - private static final int MIN_LEVEL = 74; - private static final int MANE_COUNT = 100; - - public Q00606_BattleAgainstVarkaSilenos() - { - super(606, Q00606_BattleAgainstVarkaSilenos.class.getSimpleName(), "Battle against Varka Silenos"); - addStartNpc(KADUN); - addTalkId(KADUN); - addKillId(MOBS.keySet()); - registerQuestItems(MANE); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "31370-03.htm": - st.startQuest(); - break; - case "31370-06.html": - break; - case "31370-07.html": - if (st.getQuestItemsCount(MANE) < MANE_COUNT) - { - return "31370-08.html"; - } - st.takeItems(MANE, MANE_COUNT); - st.giveItems(HORN, 20); - break; - case "31370-09.html": - st.exitQuest(true, true); - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final L2PcInstance member = getRandomPartyMember(killer, 1); - if ((member != null) && (getRandom(1000) < MOBS.get(npc.getId()))) - { - final QuestState st = getQuestState(member, false); - st.giveItems(MANE, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? "31370-01.htm" : "31370-02.htm"; - break; - case State.STARTED: - htmltext = (st.hasQuestItems(MANE)) ? "31370-04.html" : "31370-05.html"; - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-01.htm b/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-01.htm deleted file mode 100644 index 9f884369ca..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Kadun Zu Ketra:
-We've been at war with the murderous Varka Silenos for far too long! It's time that we put an end to this once and for all, and thrust our sword to the very core of the enemy forces! Comrade of Ketra! Will you join our struggle?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-02.htm b/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-02.htm deleted file mode 100644 index 9ba5a19cba..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Kadun Zu Ketra:
-I must find a worthy fighter to accomplish this mission. Unfortunately you don't seem up to the task.
-(Only a character who possesses Ketra's friend - 3rd level can undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-03.htm b/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-03.htm deleted file mode 100644 index d9988364ec..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Kadun Zu Ketra:
-You're not ready for this type of mission. Practice!
-(Only a character of level 75 or above can undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-04.htm b/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-04.htm deleted file mode 100644 index b3619d2b8e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -Kadun Zu Ketra:
-Among the Varka Silenos lurks an extremely skilled shaman known as Shadith. He leads their forces in battle far too successfully. He must be destroyed! But I must warn you, you can't take him down alone. Gather your trusted comrades, confront Shadith and take his head! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-05.html b/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-05.html deleted file mode 100644 index 173f1c3b23..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Kadun Zu Ketra:
-Have you brought me the Head of Shadith?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-06.html b/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-06.html deleted file mode 100644 index 15eb9c380e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Kadun Zu Ketra:
-Bring me the Head of Shadith! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-07.html b/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-07.html deleted file mode 100644 index 1565b3b1b9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/31370-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Kadun Zu Ketra:
-Excellent! The head of Shadith!? Ugly bastard, wasn't he? You've proven your courage. Please accept this Totem of Valor in recognition of your outstanding military achievements! It's the custom of the Ketra to give this to the our most respected soldier who has proved the true valor like you! You're a true soldier! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/Q00607_ProveYourCourageKetra.java b/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/Q00607_ProveYourCourageKetra.java deleted file mode 100644 index cf87cf629d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/Q00607_ProveYourCourageKetra.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00607_ProveYourCourageKetra; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.util.Util; - -/** - * Prove Your Courage! (Ketra) (607) - * @author malyelfik - */ -public class Q00607_ProveYourCourageKetra extends Quest -{ - // NPC - private static final int KADUN = 31370; - // Monster - private static final int SHADITH = 25309; - // Items - private static final int SHADITH_HEAD = 7235; - private static final int VALOR_TOTEM = 7219; - private static final int KETRA_ALLIANCE_THREE = 7213; - // Misc - private static final int MIN_LEVEL = 75; - - public Q00607_ProveYourCourageKetra() - { - super(607, Q00607_ProveYourCourageKetra.class.getSimpleName(), "Prove Your Courage! (Ketra)"); - addStartNpc(KADUN); - addTalkId(KADUN); - addKillId(SHADITH); - registerQuestItems(SHADITH_HEAD); - } - - @Override - public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false)) - { - st.giveItems(SHADITH_HEAD, 1); - st.setCond(2, true); - } - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "31370-04.htm": - st.startQuest(); - break; - case "31370-07.html": - if (st.hasQuestItems(SHADITH_HEAD) && st.isCond(2)) - { - st.giveItems(VALOR_TOTEM, 1); - st.addExpAndSp(10000, 0); - st.exitQuest(true, true); - } - else - { - htmltext = getNoQuestMsg(player); - } - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - executeForEachPlayer(killer, npc, isSummon, true, false); - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? (st.hasQuestItems(KETRA_ALLIANCE_THREE)) ? "31370-01.htm" : "31370-02.htm" : "31370-03.htm"; - break; - case State.STARTED: - htmltext = (st.isCond(2) && st.hasQuestItems(SHADITH_HEAD)) ? "31370-05.html" : "31370-06.html"; - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-01.htm b/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-01.htm deleted file mode 100644 index 48d504a9ab..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Kadun Zu Ketra:
-The time has come for our revenge! Let's slay the commander of the enemy forces and put an end to our long war with the Varka! Will you join our cause?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-02.htm b/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-02.htm deleted file mode 100644 index e8709b02b4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Kadun Zu Ketra:
-You're not up to this mission. If we're to achieve victory, we must be patient. A good general waits patiently for the right time to strike!
-(Only a character who possesses Ketra's friend - 4th level can undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-03.htm b/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-03.htm deleted file mode 100644 index 4e04735191..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Kadun Zu Ketra:
-You're not ready for this mission yet. Practice!
-(Only a character of level 75 or above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-04.htm b/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-04.htm deleted file mode 100644 index 675cf34f0c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Kadun Zu Ketra:
-Excellent! This mission is critical to the war effort. I need you to go to the garrison of the Varka Silenos and kill their commander! He's known as Mos, and he's the best swordsman in the entire tribe! Although you're an excellent fighter, don't even think of taking him on alone! Gather your most reliable comrades together, and track down and kill Mos!
-The glorious flames of Pa'agrio will light your path forever! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-05.html b/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-05.html deleted file mode 100644 index 8ad98f4a98..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Kadun Zu Ketra:
-Have you brought the head of the commander of the Varka Silenos?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-06.html b/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-06.html deleted file mode 100644 index eede3ef4d3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Kadun Zu Ketra:
-Arise, Orcs! The time has come! Kill Mos, the Varka commander, cut off his head and bring it to me! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-07.html b/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-07.html deleted file mode 100644 index 01575d6a8b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/31370-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Kadun Zu Ketra:
-Ha! Excellent! This is outstanding! Our war with the Varka Silenos has entered its final stage! The loss of their commander means that they can no longer resist our powerful forces! Good job! Please accept this totem of strategy as an acknowledgement of your service to the Ketra Orcs! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/Q00608_SlayTheEnemyCommanderKetra.java b/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/Q00608_SlayTheEnemyCommanderKetra.java deleted file mode 100644 index 173326df6a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/Q00608_SlayTheEnemyCommanderKetra.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00608_SlayTheEnemyCommanderKetra; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.util.Util; - -/** - * Slay the Enemy Commander! (Ketra) (608) - * @author malyelfik - */ -public class Q00608_SlayTheEnemyCommanderKetra extends Quest -{ - // NPC - private static final int KADUN = 31370; - // Monster - private static final int MOS = 25312; - // Items - private static final int MOS_HEAD = 7236; - private static final int WISDOM_TOTEM = 7220; - private static final int KETRA_ALLIANCE_FOUR = 7214; - // Misc - private static final int MIN_LEVEL = 75; - - public Q00608_SlayTheEnemyCommanderKetra() - { - super(608, Q00608_SlayTheEnemyCommanderKetra.class.getSimpleName(), "Slay the Enemy Commander! (Ketra)"); - addStartNpc(KADUN); - addTalkId(KADUN); - addKillId(MOS); - registerQuestItems(MOS_HEAD); - } - - @Override - public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false)) - { - st.giveItems(MOS_HEAD, 1); - st.setCond(2, true); - } - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "31370-04.htm": - st.startQuest(); - break; - case "31370-07.html": - if (st.hasQuestItems(MOS_HEAD) && st.isCond(2)) - { - st.giveItems(WISDOM_TOTEM, 1); - st.addExpAndSp(10000, 0); - st.exitQuest(true, true); - } - else - { - htmltext = getNoQuestMsg(player); - } - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - executeForEachPlayer(killer, npc, isSummon, true, false); - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? (st.hasQuestItems(KETRA_ALLIANCE_FOUR)) ? "31370-01.htm" : "31370-02.htm" : "31370-03.htm"; - break; - case State.STARTED: - htmltext = (st.isCond(2) && st.hasQuestItems(MOS_HEAD)) ? "31370-05.html" : "31370-06.html"; - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-00a.html b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-00a.html deleted file mode 100644 index 622c803bf8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-00a.html +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-Friend of Ketra, Soul Guide Asefa is keeping an eye on your merits. He may one day require your services. You must train. Harder.
-(This quest is for characters level 74 and above, and who have the 'Proof of Alliance with Ketra Orcs' - Level 1 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-00b.html b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-00b.html deleted file mode 100644 index 1c220bb0b2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-00b.html +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-Friend of Ketra, Soul Guide Asefa closely tracks your progress. The day will come when he assigns you a mission. You must train for whatever that mission may be!
-(This quest is for characters level 74 and above, and who have the 'Proof of Alliance with Ketra Orcs' - Level 1 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-01.htm b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-01.htm deleted file mode 100644 index 769ca301f5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Messenger Wahkan:
-Our tribe is in mortal danger, friend of the Ketra! Will you fight for us?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-02.html b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-02.html deleted file mode 100644 index 56a6d1c61e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Messenger Wahkan:
-There is a secret power possessed by the Varka Silenos! Asefa, the guide of dead souls, can tell you more about it... Do as she says! May the flames of Pa'agrio light your path! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-03.html b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-03.html deleted file mode 100644 index c5d1d4a71e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31371-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Messenger Wahkan:
-Did you get lost? Speak with Asefa, guide of dead souls to find out about your mission! Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-01.html b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-01.html deleted file mode 100644 index 9128be5ca5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-01.html +++ /dev/null @@ -1,7 +0,0 @@ -Soul Guide Asefa:
-Welcome, comrade of Ketra! Wahkan has told me of your activities. I'm sure that you're the right person for this mission!
-We Ketra Orcs are unrivaled warriors. The Silenos cannot defeat us, but they've been a nuisance to our noble corps for far too long! I'm convinced that they're receiving help from some unknown power!
-Break into the Varka Silenos barracks and take the totem of Soul Guide Udan Mardui! This totem must be the source of their hidden power. You can't risk capture, so avoid confronting them directly.
-Once you do this, I'll give you the Divine Stone of Wisdom, a sacred relic of our tribe!
-The totem is locked inside a box, so don't forget to take the Thief Key with you. You must hurry, comrade! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-02.html b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-02.html deleted file mode 100644 index c1f20c2d1c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Soul Guide Asefa:
-Break into the Varka Silenos barracks and take the totem of Soul Guide Udan Mardui! It contains the secrets of their hidden power. Take the Thief Key with you, the box with the totem is locked. Hurry, Comrade! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-03.html b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-03.html deleted file mode 100644 index 8f2664b18e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Soul Guide Asefa:
-Maybe I overestimated your abilities. You have to use your head to fulfill this mission! I'll distract the watchman. Now hurry! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-04.html b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-04.html deleted file mode 100644 index bac14934ec..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31372-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Soul Guide Asefa:
-Excellent job, comrade of Ketra! This contains the hidden power of those insolent Varkas and will ultimately lead to their defeat! I must begin my research immediately!
-Take this Divine Stone of Wisdom, comrade. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-01.html b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-01.html deleted file mode 100644 index ce20785e63..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Udan Mardui's Box:
-There is a box on which a shamanic pattern of Varka Silenos is engraved. It seems to contain some strong power.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-02.html b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-02.html deleted file mode 100644 index f4db372457..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Udan Mardui's Box:
-You need a Thief Key to open the box! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-03.html b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-03.html deleted file mode 100644 index d05a16aa56..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Udan Mardui's Box:
-The Green Totem in the box is emanating very strong power. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-04.html b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-04.html deleted file mode 100644 index 01a3d908ea..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/31561-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Udan Mardui's Box:
-The box is open! But it's empty. The surveillant must have found out and hid the Green Totem somewhere else. Go back to Soul Guide Asefa, and come back again after breaking the curse. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/Q00609_MagicalPowerOfWaterPart1.java b/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/Q00609_MagicalPowerOfWaterPart1.java deleted file mode 100644 index f7bd6fdacf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/Q00609_MagicalPowerOfWaterPart1.java +++ /dev/null @@ -1,221 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00609_MagicalPowerOfWaterPart1; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.SkillHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; -import com.l2jserver.gameserver.network.serverpackets.NpcSay; - -/** - * Magical Power of Water - Part 1 (609) - * @author Joxit - */ -public class Q00609_MagicalPowerOfWaterPart1 extends Quest -{ - // NPCs - private static final int WAHKAN = 31371; - private static final int ASEFA = 31372; - private static final int UDANS_BOX = 31561; - private static final int UDANS_EYE = 31684; - // Monsters - private static final int[] VARKA_MOBS = - { - 21350, // Varka Silenos Recruit - 21351, // Varka Silenos Footman - 21353, // Varka Silenos Scout - 21354, // Varka Silenos Hunter - 21355, // Varka Silenos Shaman - 21357, // Varka Silenos Priest - 21358, // Varka Silenos Warrior - 21360, // Varka Silenos Medium - 21361, // Varka Silenos Magus - 21362, // Varka Silenos Officer - 21364, // Varka Silenos Seer - 21365, // Varka Silenos Great Magus - 21366, // Varka Silenos General - 21368, // Varka Silenos Great Seer - 21369, // Varka's Commander - 21370, // Varka's Elite Guard - 21371, // Varka's Head Magus - 21372, // Varka's Head Guard - 21373, // Varka's Prophet - 21374, // Prophet's Guard - 21375, // Disciple of Prophet - }; - // Items - private static final int KEY = 1661; - private static final int STOLEN_GREEN_TOTEM = 7237; - private static final int WISDOM_STONE = 7081; - private static final int GREEN_TOTEM = 7238; - private static final int[] KETRA_MARKS = - { - 7211, // Mark of Ketra's Alliance - Level 1 - 7212, // Mark of Ketra's Alliance - Level 2 - 7213, // Mark of Ketra's Alliance - Level 3 - 7214, // Mark of Ketra's Alliance - Level 4 - 7215, // Mark of Ketra's Alliance - Level 5 - }; - // Skills - private static SkillHolder GOW = new SkillHolder(4547, 1); // Gaze of Watcher - private static SkillHolder DISPEL_GOW = new SkillHolder(4548, 1); // Quest - Dispel Watcher Gaze - // Misc - private static final int MIN_LEVEL = 74; - - public Q00609_MagicalPowerOfWaterPart1() - { - super(609, Q00609_MagicalPowerOfWaterPart1.class.getSimpleName(), "Magical Power of Water - Part 1"); - addStartNpc(WAHKAN); - addTalkId(ASEFA, WAHKAN, UDANS_BOX); - addAttackId(VARKA_MOBS); - registerQuestItems(STOLEN_GREEN_TOTEM); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - String htmltext = null; - switch (event) - { - case "31371-02.html": - st.startQuest(); - htmltext = event; - break; - case "open_box": - if (!st.hasQuestItems(KEY)) - { - htmltext = "31561-02.html"; - } - else if (st.isCond(2)) - { - if (st.isSet("spawned")) - { - st.takeItems(KEY, 1); - htmltext = "31561-04.html"; - } - else - { - st.giveItems(STOLEN_GREEN_TOTEM, 1); - st.takeItems(KEY, 1); - st.setCond(3, true); - htmltext = "31561-03.html"; - } - } - break; - case "eye_despawn": - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.UDAN_HAS_ALREADY_SEEN_YOUR_FACE)); - npc.deleteMe(); - break; - } - return htmltext; - } - - @Override - public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon) - { - final QuestState st = getQuestState(attacker, false); - if ((st != null) && st.isCond(2) && !st.isSet("spawned")) - { - st.set("spawned", "1"); - npc.setTarget(attacker); - npc.doCast(GOW.getSkill()); - final L2Npc eye = addSpawn(UDANS_EYE, npc); - eye.broadcastPacket(new NpcSay(eye, Say2.NPC_ALL, NpcStringId.YOU_CAN_T_AVOID_THE_EYES_OF_UDAN)); - startQuestTimer("eye_despawn", 10000, eye, attacker); - } - return super.onAttack(npc, attacker, damage, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case WAHKAN: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? (hasAtLeastOneQuestItem(player, KETRA_MARKS)) ? "31371-01.htm" : "31371-00a.html" : "31371-00b.html"; - break; - case State.STARTED: - if (st.isCond(1)) - { - htmltext = "31371-03.html"; - } - break; - } - break; - case ASEFA: - if (st.isStarted()) - { - switch (st.getCond()) - { - case 1: - htmltext = "31372-01.html"; - st.setCond(2, true); - break; - case 2: - if (st.isSet("spawned")) - { - st.unset("spawned"); - npc.setTarget(player); - npc.doCast(DISPEL_GOW.getSkill()); - htmltext = "31372-03.html"; - } - else - { - htmltext = "31372-02.html"; - } - break; - case 3: - st.giveItems(GREEN_TOTEM, 1); - st.giveItems(WISDOM_STONE, 1); - st.exitQuest(true, true); - htmltext = "31372-04.html"; - break; - } - } - break; - case UDANS_BOX: - if (st.isCond(2)) - { - htmltext = "31561-01.html"; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-00a.html b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-00a.html deleted file mode 100644 index 644f13bec9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-00a.html +++ /dev/null @@ -1,4 +0,0 @@ -Soul Guide Asefa:
-Still looking for the totem? You disappoint me.
-(Quest may only be undertaken by characters with the Green Totem.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-00b.html b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-00b.html deleted file mode 100644 index 017909edc0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-00b.html +++ /dev/null @@ -1,4 +0,0 @@ -Soul Guide Asefa:
-Come back when you aren't such a weakling.
-(Quest may only be undertaken by characters of level 75 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-01.htm b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-01.htm deleted file mode 100644 index edf6b9ecf2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Soul Guide Asefa:
-After investigating, I found that the magical power comes from the water spirit conjured by using the totem. If you can kill it, it will weaken Udan Mardui's magical power. Will you take on this important mission?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-02.html b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-02.html deleted file mode 100644 index a7475eff9d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Soul Guide Asefa:
-Now you must use caution. Break into the Varka Silenos barracks again and use this Green Totem at the holy altar. Then you can summon Ashutar, the soul of water and the source of Udan Mardui's magical power. Kill it and bring me its heart of ice! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-03.html b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-03.html deleted file mode 100644 index aef347a3de..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Soul Guide Asefa:
-Now you must use caution. Break into the Varka Silenos barracks again and use this Green Totem at the holy altar. Then you can summon Ashutar, the soul of water. Kill it and bring me its heart of ice! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-04.html b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-04.html deleted file mode 100644 index 27b8319838..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Soul Guide Asefa:
-Did you defeat Ashutar?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-05.html b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-05.html deleted file mode 100644 index af51691922..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Soul Guide Asefa:
-Kill Ashutar and bring me the source of the power! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-06.html b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-06.html deleted file mode 100644 index 249679cf81..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-06.html +++ /dev/null @@ -1,4 +0,0 @@ ->Soul Guide Asefa:
-Excellent job, comrade! At last I can use the magical power of Udan Mardui!
-You've brought our tribe much closer to victory, and we are in your debt. May glory be with us all! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-07.html b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-07.html deleted file mode 100644 index 68c1b61fc9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31372-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Soul Guide Asefa:
-You have to bring me the Ice Heart of Ashutar! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-01.html b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-01.html deleted file mode 100644 index 7bc70dbdc8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Holy Altar:
-This stone sculpture is the work of artisans. It resembles a ram's head.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-02.html b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-02.html deleted file mode 100644 index 1ccee0b9ec..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Holy Altar:
-With a piercing noise that rends the air, the Green Totem shatters into a million brilliant shards of light. The tendrils of blue energy which seep from the altar suddenly coalesce, and Water Spirit Ashutar materializes. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-03.html b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-03.html deleted file mode 100644 index 9eb2db2c52..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Holy Altar:
-Someone is already performing a ritual at the altar. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-04.html b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-04.html deleted file mode 100644 index 83776029f0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Holy Spirit:
-Without the Green Totem, I can't conjure Soul of Water Ashutar. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-05.html b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-05.html deleted file mode 100644 index da765931b3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/31560-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Holy Altar:
-The energy I felt at the altar is getting weaker. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java b/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java deleted file mode 100644 index a6c9c3b4b4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00610_MagicalPowerOfWaterPart2; - -import com.l2jserver.Config; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; -import com.l2jserver.gameserver.network.serverpackets.NpcSay; -import com.l2jserver.gameserver.util.Util; - -/** - * Magical Power of Water - Part 2 (610) - * @author Joxit - */ -public class Q00610_MagicalPowerOfWaterPart2 extends Quest -{ - // NPCs - private static final int ASEFA = 31372; - private static final int VARKA_TOTEM = 31560; - // Monster - private static final int ASHUTAR = 25316; - // Items - private static final int GREEN_TOTEM = 7238; - private static final int ASHUTAR_HEART = 7239; - // Misc - private static final int MIN_LEVEL = 75; - - public Q00610_MagicalPowerOfWaterPart2() - { - super(610, Q00610_MagicalPowerOfWaterPart2.class.getSimpleName(), "Magical Power of Water - Part 2"); - addStartNpc(ASEFA); - addTalkId(ASEFA, VARKA_TOTEM); - addKillId(ASHUTAR); - registerQuestItems(GREEN_TOTEM, ASHUTAR_HEART); - - final String test = loadGlobalQuestVar("Q00610_respawn"); - final long remain = (!test.isEmpty()) ? (Long.parseLong(test) - System.currentTimeMillis()) : 0; - if (remain > 0) - { - startQuestTimer("spawn_npc", remain, null, null); - } - else - { - addSpawn(VARKA_TOTEM, 105452, -36775, -1050, 34000, false, 0, true); - } - } - - @Override - public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - if ((st != null) && Util.checkIfInRange(1500, npc, player, false)) - { - if (npc.getId() == ASHUTAR) - { - switch (st.getCond()) - { - case 1: // take the item and give the heart - st.takeItems(GREEN_TOTEM, 1); - case 2: - if (!st.hasQuestItems(ASHUTAR_HEART)) - { - st.giveItems(ASHUTAR_HEART, 1); - } - st.setCond(3, true); - break; - } - } - } - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = null; - if (player != null) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - switch (event) - { - case "31372-02.html": - st.startQuest(); - htmltext = event; - break; - case "give_heart": - if (st.hasQuestItems(ASHUTAR_HEART)) - { - st.addExpAndSp(10000, 0); - st.exitQuest(true, true); - htmltext = "31372-06.html"; - } - else - { - htmltext = "31372-07.html"; - } - break; - case "spawn_totem": - htmltext = (st.hasQuestItems(GREEN_TOTEM)) ? spawnAshutar(npc, st) : "31560-04.html"; - break; - } - } - else - { - if (event.equals("despawn_ashutar")) - { - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.THE_POWER_OF_CONSTRAINT_IS_GETTING_WEAKER_YOUR_RITUAL_HAS_FAILED)); - npc.deleteMe(); - addSpawn(VARKA_TOTEM, 105452, -36775, -1050, 34000, false, 0, true); - } - else if (event.equals("spawn_npc")) - { - addSpawn(VARKA_TOTEM, 105452, -36775, -1050, 34000, false, 0, true); - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final int respawnMinDelay = (int) (43200000 * Config.RAID_MIN_RESPAWN_MULTIPLIER); - final int respawnMaxDelay = (int) (129600000 * Config.RAID_MAX_RESPAWN_MULTIPLIER); - final int respawnDelay = getRandom(respawnMinDelay, respawnMaxDelay); - cancelQuestTimer("despawn_ashutar", npc, null); - saveGlobalQuestVar("Q00610_respawn", String.valueOf(System.currentTimeMillis() + respawnDelay)); - startQuestTimer("spawn_npc", respawnDelay, null, null); - executeForEachPlayer(killer, npc, isSummon, true, false); - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case ASEFA: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? (st.hasQuestItems(GREEN_TOTEM)) ? "31372-01.htm" : "31372-00a.html" : "31372-00b.html"; - break; - case State.STARTED: - htmltext = (st.isCond(1)) ? "31372-03.html" : (st.hasQuestItems(ASHUTAR_HEART)) ? "31372-04.html" : "31372-05.html"; - break; - } - break; - case VARKA_TOTEM: - if (st.isStarted()) - { - switch (st.getCond()) - { - case 1: - htmltext = "31560-01.html"; - break; - case 2: - htmltext = spawnAshutar(npc, st); - break; - case 3: - htmltext = "31560-05.html"; - break; - } - } - break; - } - return htmltext; - } - - private String spawnAshutar(L2Npc npc, QuestState st) - { - if (getQuestTimer("spawn_npc", null, null) != null) - { - return "31560-03.html"; - } - if (st.isCond(1)) - { - st.takeItems(GREEN_TOTEM, 1); - st.setCond(2, true); - } - npc.deleteMe(); - final L2Npc ashutar = addSpawn(ASHUTAR, 104825, -36926, -1136, 0, false, 0); - ashutar.broadcastPacket(new NpcSay(ashutar, Say2.NPC_ALL, NpcStringId.THE_MAGICAL_POWER_OF_WATER_COMES_FROM_THE_POWER_OF_STORM_AND_HAIL_IF_YOU_DARE_TO_CONFRONT_IT_ONLY_DEATH_WILL_AWAIT_YOU)); - startQuestTimer("despawn_ashutar", 1200000, ashutar, null); - return "31560-02.html"; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-01.htm b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-01.htm deleted file mode 100644 index a94860144f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-We Varka have shown our strength and tenacity in countless battles and wars, but know that we can't survive alone. Everyone needs friends. We're looking for friends to help us fight! Will you fight alongside the mighty Varka Silenos?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-02.htm b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-02.htm deleted file mode 100644 index 29b7c2c1c8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-We're looking for an exceptionally strong fighter! Why don't you come back when you've developed your skills a bit more?
-(This quest may only be undertaken by a character of level 74 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-03.htm b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-03.htm deleted file mode 100644 index 3b6325e401..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-You've got some nerve, coming around here after helping our enemy! Have you no shame? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-04.htm b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-04.htm deleted file mode 100644 index f02965bcd1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-You seem pretty sure of yourself, but we can't afford to take in just anybody...
-If you wish to fight alongside the Varka Silenos, you must drive the Ketra Orcs from their advance base! Destroy the Ketra Orc footmen, raiders, scouts, shamans and war hounds and bring back 100 badges of Ketra grunts, then you will have proven your ability. Show us what you can do! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-05.htm b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-05.htm deleted file mode 100644 index c45dc0568f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-05.htm +++ /dev/null @@ -1,5 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Friend of Varka. You've done well, and the trust of Varka will be growing as much as you've showed us. But, if you truly want to take our trust to a higher level, bring us 200 badges of Ketra grunts and 100 badges of Ketra officers. Fighters like you have become essential to our victory!
-You can get the captain's badge by killing Ketra Orc Warriors, Lieutenants, Mediums, Elite Soldiers, Commanders, Elite Guards, White Captains, and Seers.
-However, if I hear that you've laid a hand on our Varka Silenos in the middle, I will not be able to trust you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-06.htm b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-06.htm deleted file mode 100644 index 344dace1ab..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-06.htm +++ /dev/null @@ -1,5 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Friend of Varka. You've shown great loyalty to the Varka twice before, dear friend! However, the trust of Varka will be growing as much as you've showed us. If you want to strengthen our alliance even further by becoming a 3rd level ally, bring us 300 badges of Ketra grunts, 200 badges of Ketra officers and 100 badges of Ketra captains.
-The badges of Ketra captains can be obtained from Ketra Orc captains, battalion commanders, grand seers, chief shamans, chief royal guards, prophets, Prophet's Guards, and Prophet's Aides.
-However, if I hear that you've laid a hand on our Varka Silenos in the middle, I will not be able to trust you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-07.htm b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-07.htm deleted file mode 100644 index 85db10a9b8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-07.htm +++ /dev/null @@ -1,5 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Dear and faithful friend, your countless victories for the Varka have proven your loyalty to us. However, the trust of Varka will be growing as much as you've showed us. If you wish to strengthen our alliance and become our 4th level ally, bring from the Ketra 300 badges of grunts, 300 badges of officers, 200 badges of captains and a Feather of Valor.
-The feather can be obtained by undertaking the Prove Your Courage quest, a mission assigned by Ashas Varka Durai, the elder of our tribe.
-However, if I hear that you've laid a hand on our Varka Silenos in the middle, I will not be able to trust you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-08.htm b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-08.htm deleted file mode 100644 index dcc3c5c881..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-08.htm +++ /dev/null @@ -1,5 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Dear and faithful friend, your countless victories for the Varka have proven your loyalty to us. There is one more mission that remains... If you wish to be our level 5 ally -- our highest honor of trust, obtain400 badges of Ketra grunts, 400 badges of Ketra officers, 200 badges of Ketra captains and a Feather of Wisdom.
-The feather can be obtained by undertaking the Slay the Enemy Commander quest, a mission assigned by Ashas Varka Durai, the elder of our tribe.
-However, if I hear that you've laid a hand on our Varka Silenos in the middle, I will not be able to trust you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-09.htm b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-09.htm deleted file mode 100644 index 66a52d4eff..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-09.htm +++ /dev/null @@ -1,5 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Respected friend of the Varka. I no longer have any duties to give you. There is no one among us who is as courageous and faithful as you. The Varka Silenos of the village will give you their greatest service and benefit. Come to the Varka's village without hesitation.
-But if their treatment does not satisfy you, you may give up the alliance.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-10.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-10.html deleted file mode 100644 index a39cf9df60..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Are you still here? If you want to be a friend of the Varka Silenos, you must go to the advance base of the Ketra Orcs and kill them all! Kill their footmen, raiders, scouts, shamans and war hounds. Bring back 100 badges of Ketra grunts, then you will have proven your friendship to the Varka. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-11.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-11.html deleted file mode 100644 index bcadaccaab..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-11.html +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-I bet you left a bitter taste in the Ketra Orcs' mouths. What have you brought me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-12.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-12.html deleted file mode 100644 index eae2df74eb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-12.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-We Varka appreciate your help and friendship. Henceforth, you shall be known as a friend of the Varka! Congratulations! Please accept this Mark of Varka's Alliance - 1st level. It will guarantee you proper treatment in the village shops. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-12a.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-12a.html deleted file mode 100644 index b13a14dee3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-12a.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Friend of the Varka, go destroy our enemies! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-12b.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-12b.html deleted file mode 100644 index bd7d4d8a0e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-12b.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-We value your trust, friend. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-13.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-13.html deleted file mode 100644 index 85f1abdf56..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-13.html +++ /dev/null @@ -1,8 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-What are you still doing here? Get to the battlefield immediately!
-You've committed to bring 200 badges of Ketra grunts and 100 badges of Ketra officers.
-Get the officers' badges from Ketra Orc Warriors, lieutenants, mediums, elite soldiers, centurions, seers, legionnaire captains, and elite royal guards.
-If you don't like this job, you're always welcome to quit!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-14.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-14.html deleted file mode 100644 index d272d9ee46..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-14.html +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Did those gutless Ketras cry when you beat them? How many did you kill? Where are the proofs?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-15.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-15.html deleted file mode 100644 index 729aba7b2c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-15.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Good job! You've earned this Mark of Varka's Alliance - Level 2. It gives you even more benefits and privileges from the village. If you want to use the warehouse, speak with Warehouse Keeper Hagos. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-16.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-16.html deleted file mode 100644 index e89291c8ab..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-16.html +++ /dev/null @@ -1,8 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-What are you still doing here? Get to the battlefield immediately!
-Remember, you've agreed to bring 300 badges of Ketra grunts, 200 badges of Ketra officers and 100 badges of Ketra captains.
-You can get the General's Badge by slaying the Ketra Orc Generals, Battalion Commanders, Grand Seers, Head Shamans, Head Guards, Prophets, Prophet's Guard, and Prophet's Aide.
-If you don't like your job, you're always welcome to quit!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-17.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-17.html deleted file mode 100644 index aa7baee1c0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-17.html +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Ah, back from your visit with the Ketra Orcs, are you? What was your trophy?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-18.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-18.html deleted file mode 100644 index ac4177dfba..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-18.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Were you successful? Congratulations! Take this Mark of Varka's Alliance - Level 3. This will give you even more benefits and privileges in the village. New specialty items are available to you, and you may now receive the blessing of Udan Mardui, guide of dead souls. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-19.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-19.html deleted file mode 100644 index 3051a2b077..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-19.html +++ /dev/null @@ -1,7 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-What are you still doing here? Get to the battlefield immediately!
-You've promised us you'd bring from the Ketra Orcs 300 badges of grunts, 300 badges of officers, 200 badges of captains and a Feather of Valor. This feather can be obtained by undertaking the Prove Your Courage quest, a mission assigned by Ashas Varka Durai, the elder of our tribe.
- -If you don't like your job, you're always welcome to quit!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-20.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-20.html deleted file mode 100644 index a2867fc09f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-20.html +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Well, look who's back. from meeting with the Ketra Orcs. What did you find?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-21.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-21.html deleted file mode 100644 index 53b4acbe51..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-21.html +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Congratulations! Please accept this Mark of Varka's Alliance - Level 4. It will give you even more benefits and privileges in the village. Now you can travel to other villages through Gate Keeper Teranu Mardui.
-Now all that remains is for you to become our closest friend, one with the highest trust we bestow! Will you do it? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-22.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-22.html deleted file mode 100644 index fc738d7e94..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-22.html +++ /dev/null @@ -1,7 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-What are you still doing here? Get to the battlefield immediately!
-You've promised to bring 400 badges of Ketra grunts, 400 badges of Ketra officers, 200 badges of Ketra captains and a Feather of Wisdom. This feather can be obtained by undertaking the Slay the Enemy Commander quest, a mission assigned by Ashas Varka Durai, the elder of our tribe.
-Remember, you can always quit!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-23.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-23.html deleted file mode 100644 index c454e21aba..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-23.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Congratulations, friend of Varka! Please accept this Mark of Varka's Alliance - Level 5. This entitles you to all the privileges the village can offer! From now on, you can purchase new specialty items and travel to distant hunting grounds through our gatekeeper. We're truly honored to have such a powerful and trustworthy friend as you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-24.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-24.html deleted file mode 100644 index ed70720687..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-24.html +++ /dev/null @@ -1,6 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-You're braver than anyone I've ever seen! All the Varka will do their best to help you. You must visit our village and allow us to demonstrate our gratitude!
-But don't feel like you need to stay if you're unhappy...
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-25.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-25.html deleted file mode 100644 index a8c50aa845..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-25.html +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Friend of Varka. I, Varka's Messenger Naran Ashanuk, must warn you, friend of Varka! Once you end our alliance, we will become as strangers... as if we never met! Earning our friendship again will mean starting over at the beginning. Are you sure you want to quit?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-26.html b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-26.html deleted file mode 100644 index a7bd949f17..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/31378-26.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Oh well, I suppose I was wrong about you! Good-bye, stranger! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/Q00611_AllianceWithVarkaSilenos.java b/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/Q00611_AllianceWithVarkaSilenos.java deleted file mode 100644 index 14d1cc3508..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/Q00611_AllianceWithVarkaSilenos.java +++ /dev/null @@ -1,333 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00611_AllianceWithVarkaSilenos; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Alliance with Varka Silenos (611) - * @author malyelfik - */ -public class Q00611_AllianceWithVarkaSilenos extends Quest -{ - private static class DropInfo - { - private final int _chance; - private final int _minCond; - private final int _itemId; - - public DropInfo(int chance, int minCond) - { - _chance = chance; - _minCond = minCond; - switch (_minCond) - { - case 1: - _itemId = KETRA_BADGE_SOLDIER; - break; - case 2: - _itemId = KETRA_BADGE_OFFICER; - break; - default: - _itemId = KETRA_BADGE_CAPTAIN; - break; - } - } - - public int getMinCond() - { - return _minCond; - } - - public int getChance() - { - return _chance; - } - - public int getItemId() - { - return _itemId; - } - } - - // NPC - private static final int NARAN_ASHANUK = 31378; - // Monsters - private static final Map MOBS = new HashMap<>(); - static - { - MOBS.put(21324, new DropInfo(500, 1)); // Ketra Orc Footman - MOBS.put(21325, new DropInfo(500, 1)); // Ketra's War Hound - MOBS.put(21327, new DropInfo(509, 1)); // Ketra Orc Raider - MOBS.put(21328, new DropInfo(521, 1)); // Ketra Orc Scout - MOBS.put(21329, new DropInfo(519, 1)); // Ketra Orc Shaman - MOBS.put(21331, new DropInfo(500, 2)); // Ketra Orc Warrior - MOBS.put(21332, new DropInfo(500, 2)); // Ketra Orc Lieutenant - MOBS.put(21334, new DropInfo(509, 2)); // Ketra Orc Medium - MOBS.put(21335, new DropInfo(518, 2)); // Ketra Orc Elite Soldier - MOBS.put(21336, new DropInfo(518, 2)); // Ketra Orc White Captain - MOBS.put(21338, new DropInfo(527, 2)); // Ketra Orc Seer - MOBS.put(21339, new DropInfo(500, 3)); // Ketra Orc General - MOBS.put(21340, new DropInfo(500, 3)); // Ketra Orc Battalion Commander - MOBS.put(21342, new DropInfo(508, 3)); // Ketra Orc Grand Seer - MOBS.put(21343, new DropInfo(628, 2)); // Ketra Commander - MOBS.put(21344, new DropInfo(604, 2)); // Ketra Elite Guard - MOBS.put(21345, new DropInfo(627, 3)); // Ketra's Head Shaman - MOBS.put(21346, new DropInfo(604, 3)); // Ketra's Head Guard - MOBS.put(21347, new DropInfo(649, 3)); // Ketra Prophet - MOBS.put(21348, new DropInfo(626, 3)); // Prophet's Guard - MOBS.put(21349, new DropInfo(626, 3)); // Prophet's Aide - } - // Items - private static final int KETRA_BADGE_SOLDIER = 7226; - private static final int KETRA_BADGE_OFFICER = 7227; - private static final int KETRA_BADGE_CAPTAIN = 7228; - private static final int VALOR_FEATHER = 7229; - private static final int WISDOM_FEATHER = 7230; - private static final int[] KETRA_MARKS = - { - 7211, // Mark of Ketra's Alliance - Level 1 - 7212, // Mark of Ketra's Alliance - Level 2 - 7213, // Mark of Ketra's Alliance - Level 3 - 7214, // Mark of Ketra's Alliance - Level 4 - 7215, // Mark of Ketra's Alliance - Level 5 - }; - private static final int[] VARKA_MARKS = - { - 7221, // Mark of Varka's Alliance - Level 1 - 7222, // Mark of Varka's Alliance - Level 2 - 7223, // Mark of Varka's Alliance - Level 3 - 7224, // Mark of Varka's Alliance - Level 4 - 7225, // Mark of Varka's Alliance - Level 5 - }; - // Misc - private static final int MIN_LEVEL = 74; - private static final int[] SOLDIER_BADGE_COUNT = - { - 100, // cond 1 - 200, // cond 2 - 300, // cond 3 - 300, // cond 4 - 400, // cond 5 - }; - private static final int[] OFFICER_BADGE_COUNT = - { - 0, // cond 1 - 100, // cond 2 - 200, // cond 3 - 300, // cond 4 - 400, // cond 5 - }; - private static final int[] CAPTAIN_BADGE_COUNT = - { - 0, // cond 1 - 0, // cond 2 - 100, // cond 3 - 200, // cond 4 - 200, // cond 5 - }; - - public Q00611_AllianceWithVarkaSilenos() - { - super(611, Q00611_AllianceWithVarkaSilenos.class.getSimpleName(), "Alliance with Varka Silenos"); - addStartNpc(NARAN_ASHANUK); - addTalkId(NARAN_ASHANUK); - addKillId(MOBS.keySet()); - registerQuestItems(KETRA_BADGE_CAPTAIN, KETRA_BADGE_OFFICER, KETRA_BADGE_SOLDIER); - } - - private boolean canGetItem(QuestState st, int itemId) - { - int count = 0; - switch (itemId) - { - case KETRA_BADGE_SOLDIER: - count = SOLDIER_BADGE_COUNT[st.getCond() - 1]; - break; - case KETRA_BADGE_OFFICER: - count = OFFICER_BADGE_COUNT[st.getCond() - 1]; - break; - case KETRA_BADGE_CAPTAIN: - count = CAPTAIN_BADGE_COUNT[st.getCond() - 1]; - break; - } - if (st.getQuestItemsCount(itemId) < count) - { - return true; - } - return false; - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "31378-12a.html": - case "31378-12b.html": - case "31378-25.html": - break; - case "31378-04.htm": - if (hasAtLeastOneQuestItem(player, KETRA_MARKS)) - { - return "31378-03.htm"; - } - st.setState(State.STARTED); - st.playSound(QuestSound.ITEMSOUND_QUEST_ACCEPT); - for (int i = 0; i < VARKA_MARKS.length; i++) - { - if (st.hasQuestItems(VARKA_MARKS[i])) - { - st.setCond(i + 2); - return "31378-0" + (i + 5) + ".htm"; - } - } - st.setCond(1); - break; - case "31378-12.html": - if (st.getQuestItemsCount(KETRA_BADGE_SOLDIER) < SOLDIER_BADGE_COUNT[0]) - { - return getNoQuestMsg(player); - } - st.takeItems(KETRA_BADGE_SOLDIER, -1); - st.giveItems(VARKA_MARKS[0], 1); - st.setCond(2, true); - break; - case "31378-15.html": - if ((st.getQuestItemsCount(KETRA_BADGE_SOLDIER) < SOLDIER_BADGE_COUNT[1]) || (st.getQuestItemsCount(KETRA_BADGE_OFFICER) < OFFICER_BADGE_COUNT[1])) - { - return getNoQuestMsg(player); - } - takeItems(player, -1, KETRA_BADGE_SOLDIER, KETRA_BADGE_OFFICER, VARKA_MARKS[0]); - st.giveItems(VARKA_MARKS[1], 1); - st.setCond(3, true); - break; - case "31378-18.html": - if ((st.getQuestItemsCount(KETRA_BADGE_SOLDIER) < SOLDIER_BADGE_COUNT[2]) || (st.getQuestItemsCount(KETRA_BADGE_OFFICER) < OFFICER_BADGE_COUNT[2]) || (st.getQuestItemsCount(KETRA_BADGE_CAPTAIN) < CAPTAIN_BADGE_COUNT[2])) - { - return getNoQuestMsg(player); - } - takeItems(player, -1, KETRA_BADGE_SOLDIER, KETRA_BADGE_OFFICER, KETRA_BADGE_CAPTAIN, VARKA_MARKS[1]); - st.giveItems(VARKA_MARKS[2], 1); - st.setCond(4, true); - break; - case "31378-21.html": - if (!st.hasQuestItems(VALOR_FEATHER) || (st.getQuestItemsCount(KETRA_BADGE_SOLDIER) < SOLDIER_BADGE_COUNT[3]) || (st.getQuestItemsCount(KETRA_BADGE_OFFICER) < OFFICER_BADGE_COUNT[3]) || (st.getQuestItemsCount(KETRA_BADGE_CAPTAIN) < CAPTAIN_BADGE_COUNT[3])) - { - return getNoQuestMsg(player); - } - takeItems(player, -1, KETRA_BADGE_SOLDIER, KETRA_BADGE_OFFICER, KETRA_BADGE_CAPTAIN, VALOR_FEATHER, VARKA_MARKS[2]); - st.giveItems(VARKA_MARKS[3], 1); - st.setCond(5, true); - break; - case "31378-26.html": - takeItems(player, -1, VARKA_MARKS); - takeItems(player, -1, VALOR_FEATHER, WISDOM_FEATHER); - st.exitQuest(true, true); - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final L2PcInstance member = getRandomPartyMemberState(killer, State.STARTED); - if (member != null) - { - final QuestState st = getQuestState(member, false); - final DropInfo info = MOBS.get(npc.getId()); - if ((st.getCond() >= info.getMinCond()) && (st.getCond() < 6) && canGetItem(st, info.getItemId()) && (getRandom(1000) < info.getChance())) - { - st.giveItems(info.getItemId(), 1); - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? "31378-01.htm" : "31378-02.htm"; - break; - case State.STARTED: - switch (st.getCond()) - { - case 1: - htmltext = (st.getQuestItemsCount(KETRA_BADGE_SOLDIER) >= SOLDIER_BADGE_COUNT[0]) ? "31378-11.html" : "31378-10.html"; - break; - case 2: - htmltext = (st.hasQuestItems(VARKA_MARKS[0]) && (st.getQuestItemsCount(KETRA_BADGE_SOLDIER) >= SOLDIER_BADGE_COUNT[1]) && (st.getQuestItemsCount(KETRA_BADGE_OFFICER) >= OFFICER_BADGE_COUNT[1])) ? "31378-14.html" : "31378-13.html"; - break; - case 3: - htmltext = (st.hasQuestItems(VARKA_MARKS[1]) && (st.getQuestItemsCount(KETRA_BADGE_SOLDIER) >= SOLDIER_BADGE_COUNT[2]) && (st.getQuestItemsCount(KETRA_BADGE_OFFICER) >= OFFICER_BADGE_COUNT[2]) && (st.getQuestItemsCount(KETRA_BADGE_CAPTAIN) >= CAPTAIN_BADGE_COUNT[2])) ? "31378-17.html" : "31378-16.html"; - break; - case 4: - htmltext = (hasQuestItems(player, VARKA_MARKS[2], VALOR_FEATHER) && (st.getQuestItemsCount(KETRA_BADGE_SOLDIER) >= SOLDIER_BADGE_COUNT[3]) && (st.getQuestItemsCount(KETRA_BADGE_OFFICER) >= OFFICER_BADGE_COUNT[3]) && (st.getQuestItemsCount(KETRA_BADGE_CAPTAIN) >= CAPTAIN_BADGE_COUNT[3])) ? "31378-20.html" : "31378-19.html"; - break; - case 5: - if (!st.hasQuestItems(VARKA_MARKS[3]) || !st.hasQuestItems(WISDOM_FEATHER) || (st.getQuestItemsCount(KETRA_BADGE_SOLDIER) < SOLDIER_BADGE_COUNT[4]) || (st.getQuestItemsCount(KETRA_BADGE_OFFICER) < OFFICER_BADGE_COUNT[4]) || (st.getQuestItemsCount(KETRA_BADGE_CAPTAIN) < CAPTAIN_BADGE_COUNT[4])) - { - return "31378-22.html"; - } - st.setCond(6, true); - takeItems(player, -1, KETRA_BADGE_SOLDIER, KETRA_BADGE_OFFICER, KETRA_BADGE_CAPTAIN, WISDOM_FEATHER, VARKA_MARKS[3]); - st.giveItems(VARKA_MARKS[4], 1); - htmltext = "31378-23.html"; - break; - case 6: - if (st.hasQuestItems(VARKA_MARKS[4])) - { - htmltext = "31378-24.html"; - } - break; - } - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-01.htm b/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-01.htm deleted file mode 100644 index 566f807010..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Ashas Varka Durai:
-Our ancient battle against the Ketra Orcs continues to this very day. We must defeat them once and for all and reclaim our promised land! Who will join our fight?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-02.htm b/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-02.htm deleted file mode 100644 index 867028b915..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Ashas Varka Durai:
-Your courage is admirable, but you're not quite ready for the fight. Improve your skills and come back.
-(This quest may only be undertaken by characters of level 74 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-03.htm b/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-03.htm deleted file mode 100644 index 64e7db1fb1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Chief Ashas Varka Durai:
-Excellent! Raid the advance base of Ketra Orcs and kill as many as you can! Bring back their molars as proof of victory. Bring back 100 of them and I'll give you a prize of valor! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-04.html b/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-04.html deleted file mode 100644 index 15fdd55c2e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-04.html +++ /dev/null @@ -1,6 +0,0 @@ -Chief Ashas Varka Durai
-My colleague, have you slaughtered many enemies, those barbarian Orcs of Ketra? Did you place the shadow of humiliation and disgrace upon them?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-05.html b/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-05.html deleted file mode 100644 index 0fd74e846d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Chief Ashas Varka Durai:
-Drive the Ketra Orcs from the promised land of the Varka! Don't let a single invader escape! Kill them all! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-06.html b/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-06.html deleted file mode 100644 index 32a89ea403..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Chief Ashas Varka Durai:
-The fight continues! Onward to victory! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-07.html b/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-07.html deleted file mode 100644 index 64f27d18fb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-07.html +++ /dev/null @@ -1,6 +0,0 @@ -Chief Ashas Varka Durai:
-Excellent job, my friend! Today's was a stellar victory! You're our hero! You shall be well rewarded! At one time, this Buffalo horn was given only to soldiers of our tribe. It's quite valuable! You could trade it for something you really need!
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-08.html b/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-08.html deleted file mode 100644 index 5ea79f543d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Chief Ashas Varka Durai:
-Didn't I ask for at least 100 molars of Ketra Orcs! Return to the battlefield now! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-09.html b/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-09.html deleted file mode 100644 index 99285b298f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/31377-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Chief Ashas Varka Durai:
-Even an invincible warrior must rest occasionally! You've done a noble service! Come back when you're rested! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/Q00612_BattleAgainstKetraOrcs.java b/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/Q00612_BattleAgainstKetraOrcs.java deleted file mode 100644 index cc419b8735..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/Q00612_BattleAgainstKetraOrcs.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00612_BattleAgainstKetraOrcs; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Battle against Ketra Orcs (612) - * @author malyelfik - */ -public class Q00612_BattleAgainstKetraOrcs extends Quest -{ - // NPC - private static final int ASHAS = 31377; - // Monsters - private static final Map MOBS = new HashMap<>(); - static - { - MOBS.put(21324, 500); // Ketra Orc Footman - MOBS.put(21327, 510); // Ketra Orc Raider - MOBS.put(21328, 522); // Ketra Orc Scout - MOBS.put(21329, 519); // Ketra Orc Shaman - MOBS.put(21331, 529); // Ketra Orc Warrior - MOBS.put(21332, 529); // Ketra Orc Lieutenant - MOBS.put(21334, 539); // Ketra Orc Medium - MOBS.put(21336, 548); // Ketra Orc White Captain - MOBS.put(21338, 558); // Ketra Orc Seer - MOBS.put(21339, 568); // Ketra Orc General - MOBS.put(21340, 568); // Ketra Orc Battalion Commander - MOBS.put(21342, 578); // Ketra Orc Grand Seer - MOBS.put(21343, 664); // Ketra Commander - MOBS.put(21345, 713); // Ketra's Head Shaman - MOBS.put(21347, 738); // Ketra Prophet - } - // Items - private static final int SEED = 7187; - private static final int MOLAR = 7234; - // Misc - private static final int MIN_LEVEL = 74; - private static final int MOLAR_COUNT = 100; - - public Q00612_BattleAgainstKetraOrcs() - { - super(612, Q00612_BattleAgainstKetraOrcs.class.getSimpleName(), "Battle against Ketra Orcs"); - addStartNpc(ASHAS); - addTalkId(ASHAS); - addKillId(MOBS.keySet()); - registerQuestItems(MOLAR); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "31377-03.htm": - st.startQuest(); - break; - case "31377-06.html": - break; - case "31377-07.html": - if (st.getQuestItemsCount(MOLAR) < MOLAR_COUNT) - { - return "31377-08.html"; - } - st.takeItems(MOLAR, MOLAR_COUNT); - st.giveItems(SEED, 20); - break; - case "31377-09.html": - st.exitQuest(true, true); - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final L2PcInstance member = getRandomPartyMember(killer, 1); - if ((member != null) && (getRandom(1000) < MOBS.get(npc.getId()))) - { - final QuestState st = getQuestState(member, false); - st.giveItems(MOLAR, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? "31377-01.htm" : "31377-02.htm"; - break; - case State.STARTED: - htmltext = (st.hasQuestItems(MOLAR)) ? "31377-04.html" : "31377-05.html"; - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-01.htm b/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-01.htm deleted file mode 100644 index fbc7ee89ef..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Ashas Varka Durai:
-Have you heard of Hekaton, the hero of those despicable Ketra Orcs? Countless brave Varka soldiers have fallen before his axe, and I can still hear his howls of victory! We Varka can no longer ignore his atrocities! I seek a brave warrior to execute this scurvy dog! Will you prove your valor to all Varkas by cutting down Hekaton, the sworn enemy of the Varka?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-02.htm b/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-02.htm deleted file mode 100644 index e3adbc0349..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Ashas Varka Durai:
-I must find a worthy fighter who can defeat Hekaton of the Ketra Orcs! Sadly, I don't think you're up to the task! Sigh... It seems like they're all too young or too old...
-(Only a character who possesses the mark of Varka's friend - 3rd level can undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-03.htm b/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-03.htm deleted file mode 100644 index 2667170866..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Ashas Varka Durai:
-You're not ready yet, my child!
-(Only a character of level 75 or above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-04.htm b/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-04.htm deleted file mode 100644 index 9db9182a35..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -Chief Ashas Varka Durai:
-Do you truly believe you can kill Hekaton? This will be the ultimate test of your courage! Kill that filthy hero of the Ketra Orcs and cut off his head! But you mustn't forget, he's a formidable enemy! Even the best warrior is made more formidable with trusted friends fighting by his side! Gather your strongest allies and conquer the cruel Hekaton! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-05.html b/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-05.html deleted file mode 100644 index 214487131f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Chief Ashas Varka Durai:
-Have you brought the head of the hero of the Ketra Orcs?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-06.html b/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-06.html deleted file mode 100644 index 6fe9fcb498..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Chief Ashas Varka Durai:
-Prove yourself! Kill Hekaton and cut off his head! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-07.html b/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-07.html deleted file mode 100644 index df9e38955e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/31377-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Chief Ashas Varka Durai:
-Is this the head of the beast who spilt gallons of our tribe's blood? Excellent! You're a true soldier! You've proven your valor! Dear friend of Varka, please accept this Feather of Valor. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/Q00613_ProveYourCourageVarka.java b/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/Q00613_ProveYourCourageVarka.java deleted file mode 100644 index 01a83db630..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/Q00613_ProveYourCourageVarka.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00613_ProveYourCourageVarka; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.util.Util; - -/** - * Prove Your Courage! (Varka) (613) - * @author malyelfik - */ -public class Q00613_ProveYourCourageVarka extends Quest -{ - // NPC - private static final int ASHAS = 31377; - // Monster - private static final int HEKATON = 25299; - // Items - private static final int HEKATON_HEAD = 7240; - private static final int VALOR_FEATHER = 7229; - private static final int VARKA_ALLIANCE_THREE = 7223; - // Misc - private static final int MIN_LEVEL = 75; - - public Q00613_ProveYourCourageVarka() - { - super(613, Q00613_ProveYourCourageVarka.class.getSimpleName(), "Prove Your Courage! (Varka)"); - addStartNpc(ASHAS); - addTalkId(ASHAS); - addKillId(HEKATON); - registerQuestItems(HEKATON_HEAD); - } - - @Override - public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false)) - { - st.giveItems(HEKATON_HEAD, 1); - st.setCond(2, true); - } - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "31377-04.htm": - st.startQuest(); - break; - case "31377-07.html": - if (st.hasQuestItems(HEKATON_HEAD) && st.isCond(2)) - { - st.giveItems(VALOR_FEATHER, 1); - st.addExpAndSp(10000, 0); - st.exitQuest(true, true); - } - else - { - htmltext = getNoQuestMsg(player); - } - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - executeForEachPlayer(killer, npc, isSummon, true, false); - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? (st.hasQuestItems(VARKA_ALLIANCE_THREE)) ? "31377-01.htm" : "31377-02.htm" : "31377-03.htm"; - break; - case State.STARTED: - htmltext = (st.isCond(2) && st.hasQuestItems(HEKATON_HEAD)) ? "31377-05.html" : "31377-06.html"; - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-01.htm b/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-01.htm deleted file mode 100644 index e8f7b309fd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Ashas Varka Durai:
-The time has come for the Varka to strike back! If we are to prevail, we must first slay the commander of Ketra Orcs! Who will step forward to kill this beast?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-02.htm b/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-02.htm deleted file mode 100644 index 4a5cf99c90..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Ashas Varka Durai:
-The time has not yet come. If we are to achieve victory, we must have patience. A superior strategist waits patiently for just the right moment... and when that moment comes... he strikes!
-(Only characters who possess the mark of Varka's friend - 4th level can undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-03.htm b/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-03.htm deleted file mode 100644 index b5dd9a7156..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Chief Ashas Varka Durai:
-You're not quite ready. Go improve your skills!
-(This quest may only be undertaken by characters of level 75 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-04.htm b/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-04.htm deleted file mode 100644 index f403054d0f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-04.htm +++ /dev/null @@ -1,5 +0,0 @@ -Chief Ashas Varka Durai:
-Are you ready? You've already defeated Hekaton, hero of the Ketra, you should be able to defeat Tayre as well!
-Tayre is the commander of Ketra forces. He's a typical savage, little more than a beast! He has cruelly massacred hundreds of Varka soldiers! He must be stopped! Kill Tayre, cut off his head and bring it to me!
-Bear this in mind! Commander Tayre is every bit as powerful as Hekaton! You're strong but you can't fight him alone! Take some friends with you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-05.html b/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-05.html deleted file mode 100644 index fb39e686dd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Chief Ashas Varka Durai:
-Dear friend of Varka, have you brought the Head of Tayre, the commander of the Ketras?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-06.html b/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-06.html deleted file mode 100644 index ea97ac3e0a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Chief Ashas Varka Durai:
-I await the news of your victory! You are very brave! Kill Tayre, the commander of the Ketra forces and bring back his head! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-07.html b/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-07.html deleted file mode 100644 index 854dd9a3b6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/31377-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Chief Ashas Varka Durai:
-Is this the Head of Tayre? Ugly bastard, wasn't he? I'm very proud of you! Take this Feather of Wisdom in recognition your outstanding military achievements. This is the Feather of Wisdom. It's the custom of the Varka to give this to the our most respected friends! Congratulations! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/Q00614_SlayTheEnemyCommanderVarka.java b/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/Q00614_SlayTheEnemyCommanderVarka.java deleted file mode 100644 index 73376289fa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/Q00614_SlayTheEnemyCommanderVarka.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00614_SlayTheEnemyCommanderVarka; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.util.Util; - -/** - * Slay the Enemy Commander! (Varka) (614) - * @author malyelfik - */ -public class Q00614_SlayTheEnemyCommanderVarka extends Quest -{ - // NPC - private static final int ASHAS = 31377; - // Monster - private static final int TAYR = 25302; - // Items - private static final int TAYR_HEAD = 7241; - private static final int WISDOM_FEATHER = 7230; - private static final int VARKA_ALLIANCE_FOUR = 7224; - // Misc - private static final int MIN_LEVEL = 75; - - public Q00614_SlayTheEnemyCommanderVarka() - { - super(614, Q00614_SlayTheEnemyCommanderVarka.class.getSimpleName(), "Slay the Enemy Commander! (Varka)"); - addStartNpc(ASHAS); - addTalkId(ASHAS); - addKillId(TAYR); - registerQuestItems(TAYR_HEAD); - } - - @Override - public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false)) - { - st.giveItems(TAYR_HEAD, 1); - st.setCond(2, true); - } - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = event; - switch (event) - { - case "31377-04.htm": - st.startQuest(); - break; - case "31377-07.html": - if (st.hasQuestItems(TAYR_HEAD) && st.isCond(2)) - { - st.giveItems(WISDOM_FEATHER, 1); - st.addExpAndSp(10000, 0); - st.exitQuest(true, true); - } - else - { - htmltext = getNoQuestMsg(player); - } - break; - default: - htmltext = null; - break; - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - executeForEachPlayer(killer, npc, isSummon, true, false); - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? (st.hasQuestItems(VARKA_ALLIANCE_FOUR)) ? "31377-01.htm" : "31377-02.htm" : "31377-03.htm"; - break; - case State.STARTED: - htmltext = (st.isCond(2) && st.hasQuestItems(TAYR_HEAD)) ? "31377-05.html" : "31377-06.html"; - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-00a.html b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-00a.html deleted file mode 100644 index e4f3dfa8e9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-00a.html +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Friend of Varka, Guide of Dead Souls Udan Mardui is keeping an eye on your progress. He may one day bless you with a new mission. But only if you train harder!
-(This quest is for characters level 74 and above, and who have the 'Proof of Alliance with Varka Silenos' - Level 1 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-00b.html b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-00b.html deleted file mode 100644 index 54ec4d84c5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-00b.html +++ /dev/null @@ -1,4 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Friend of Varka, Guide of Dead Souls Udan Mardui is watching you. Should he call upon you, you must be ready. When that day comes... you WILL be.
-(This quest is for characters level 74 and above, and who have the 'Proof of Alliance with Varka Silenos' - Level 1 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-01.htm b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-01.htm deleted file mode 100644 index 26a029911a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-You have been an inspiration to the Varka, my friend!
-Udan Mardui has recently expressed interest in assigning a mission to you. Are you up to it?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-02.html b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-02.html deleted file mode 100644 index d2a2f1cdc9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Very well! Udan Mardui can tell you all about it. You can find him in the center of the village. Get going! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-03.html b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-03.html deleted file mode 100644 index bd439d46c2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31378-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Varka's Messenger Naran Ashanuk:
-Have you met the guide of dead souls yet? Of course, I'm speaking of Udan Mardui, located in the center of the village. He has all the details regarding your new mission! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-01.html b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-01.html deleted file mode 100644 index 9df547177d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-01.html +++ /dev/null @@ -1,6 +0,0 @@ -Soul Guide Udan Mardui:
-Do you feel the power of Asefa engulfing the battleground, comrade?
-You must go to the Ketra Orc Outpost and steal the Red Totem, the source of his power. You mustn't confront it's guardians directly! If they discover you, you'll never get the totem.
-Once you do this, I'll give you the Divine Stone of Wisdom, a sacred relic of our tribe!
-The Red Totem is locked inside a box, so don't forget to take the Thief Key with you. I pray that you are victorious! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-02.html b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-02.html deleted file mode 100644 index a2cc03c54c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Soul Guide Udan Mardui:
-Bring me the Red Totem, the source of Soul Guide Asefa's power, and don't let the guards see you! The totem is locked inside a box, so don't forget to take the Thief Key with you.
-Once you do this, I'll give you a sacred relic of our tribe! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-03.html b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-03.html deleted file mode 100644 index 7c16a7cf88..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Soul Guide Udan Mardui:
-You were spotted? How careless! I'll blind the guard for you. Go back and bring the totem from Asefa's box! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-04.html b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-04.html deleted file mode 100644 index b2de834d63..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31379-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Soul Guide Udan Mardui:
-Oh, were you successful? Is this the Red Totem? I feel the strong energy of fire! I didn't think that Ketra Orcs could use this mysterious power!
-In honor of your wisdom and courage, I hereby bestow upon you this holy relic of our tribe, the Divine Stone of Wisdom.
-Now, I, Udan Mardui, will discover the secret contained within the totem. Come back to see me later. I'll have more work for you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-01.html b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-01.html deleted file mode 100644 index 41cd4356f2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Asefa's Box:
-There is a box with Ketra Orcs' sorcerous patterns engraved. It seems that the box contains something powerful like the power of fire.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-02.html b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-02.html deleted file mode 100644 index a6aa8942e3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Asefa's Box:
-This box can only be opened with a Thief Key. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-03.html b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-03.html deleted file mode 100644 index 9ad7184f35..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Asefa's Box:
- The box opened! In the box, there is a Red Totem from which I can feel some strong power. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-04.html b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-04.html deleted file mode 100644 index 7dfa33efb0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/31559-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Asefa's Box:
-The box opened! But it's empty. The surveillant must have found out and hid the Red Totem somewhere else. Go back to Soul Guide Udan Mardui, and come back again after breaking the curse. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/Q00615_MagicalPowerOfFirePart1.java b/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/Q00615_MagicalPowerOfFirePart1.java deleted file mode 100644 index 0b60ebe9e4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/Q00615_MagicalPowerOfFirePart1.java +++ /dev/null @@ -1,221 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00615_MagicalPowerOfFirePart1; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.SkillHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; -import com.l2jserver.gameserver.network.serverpackets.NpcSay; - -/** - * Magical Power of Fire - Part 1 (615) - * @author Joxit - */ -public class Q00615_MagicalPowerOfFirePart1 extends Quest -{ - // NPCs - private static final int NARAN = 31378; - private static final int UDAN = 31379; - private static final int ASEFA_BOX = 31559; - private static final int ASEFA_EYE = 31684; - // Monsters - private static final int[] KETRA_MOBS = - { - 21324, // Ketra Orc Footman - 21325, // Ketra's War Hound - 21327, // Ketra Orc Raider - 21328, // Ketra Orc Scout - 21329, // Ketra Orc Shaman - 21331, // Ketra Orc Warrior - 21332, // Ketra Orc Lieutenant - 21334, // Ketra Orc Medium - 21335, // Ketra Orc Elite Soldier - 21336, // Ketra Orc White Captain - 21338, // Ketra Orc Seer - 21339, // Ketra Orc General - 21340, // Ketra Orc Battalion Commander - 21342, // Ketra Orc Grand Seer - 21343, // Ketra Commander - 21344, // Ketra Elite Guard - 21345, // Ketra's Head Shaman - 21346, // Ketra's Head Guard - 21347, // Ketra Prophet - 21348, // Prophet's Guard - 21349, // Prophet's Aide - }; - // Items - private static final int KEY = 1661; - private static final int STOLEN_RED_TOTEM = 7242; - private static final int WISDOM_STONE = 7081; - private static final int RED_TOTEM = 7243; - private static final int[] VARKA_MARKS = - { - 7221, // Mark of Varka's Alliance - Level 1 - 7222, // Mark of Varka's Alliance - Level 2 - 7223, // Mark of Varka's Alliance - Level 3 - 7224, // Mark of Varka's Alliance - Level 4 - 7225, // Mark of Varka's Alliance - Level 5 - }; - // Skills - private static SkillHolder GOW = new SkillHolder(4547, 1); // Gaze of Watcher - private static SkillHolder DISPEL_GOW = new SkillHolder(4548, 1); // Quest - Dispel Watcher Gaze - // Misc - private static final int MIN_LEVEL = 74; - - public Q00615_MagicalPowerOfFirePart1() - { - super(615, Q00615_MagicalPowerOfFirePart1.class.getSimpleName(), "Magical Power of Fire - Part 1"); - addStartNpc(NARAN); - addTalkId(UDAN, NARAN, ASEFA_BOX); - addAttackId(KETRA_MOBS); - registerQuestItems(STOLEN_RED_TOTEM); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - String htmltext = null; - switch (event) - { - case "31378-02.html": - st.startQuest(); - htmltext = event; - break; - case "open_box": - if (!st.hasQuestItems(KEY)) - { - htmltext = "31559-02.html"; - } - else if (st.isCond(2)) - { - if (st.isSet("spawned")) - { - st.takeItems(KEY, 1); - htmltext = "31559-04.html"; - } - else - { - st.giveItems(STOLEN_RED_TOTEM, 1); - st.takeItems(KEY, 1); - st.setCond(3, true); - htmltext = "31559-03.html"; - } - } - break; - case "eye_despawn": - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.ASEFA_HAS_ALREADY_SEEN_YOUR_FACE)); - npc.deleteMe(); - break; - } - return htmltext; - } - - @Override - public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon) - { - final QuestState st = getQuestState(attacker, false); - if ((st != null) && st.isCond(2) && !st.isSet("spawned")) - { - st.set("spawned", "1"); - npc.setTarget(attacker); - npc.doCast(GOW.getSkill()); - final L2Npc eye = addSpawn(ASEFA_EYE, npc); - eye.broadcastPacket(new NpcSay(eye, Say2.NPC_ALL, NpcStringId.YOU_CAN_T_AVOID_THE_EYES_OF_ASEFA)); - startQuestTimer("eye_despawn", 10000, eye, attacker); - } - return super.onAttack(npc, attacker, damage, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case NARAN: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? (hasAtLeastOneQuestItem(player, VARKA_MARKS)) ? "31378-01.htm" : "31378-00a.html" : "31378-00b.html"; - break; - case State.STARTED: - if (st.isCond(1)) - { - htmltext = "31378-03.html"; - } - break; - } - break; - case UDAN: - if (st.isStarted()) - { - switch (st.getCond()) - { - case 1: - htmltext = "31379-01.html"; - st.setCond(2, true); - break; - case 2: - if (st.isSet("spawned")) - { - st.unset("spawned"); - npc.setTarget(player); - npc.doCast(DISPEL_GOW.getSkill()); - htmltext = "31379-03.html"; - } - else - { - htmltext = "31379-02.html"; - } - break; - case 3: - st.giveItems(RED_TOTEM, 1); - st.giveItems(WISDOM_STONE, 1); - st.exitQuest(true, true); - htmltext = "31379-04.html"; - break; - } - } - break; - case ASEFA_BOX: - if (st.isCond(2)) - { - htmltext = "31559-01.html"; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-00a.html b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-00a.html deleted file mode 100644 index 94e99d7f5c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-00a.html +++ /dev/null @@ -1,4 +0,0 @@ -Soul Guide Udan Mardui:
-You have to steal the Red Totem, the source of Asefa's magical power. Without the totem, you can't break the bond between Nastron and Asefa.
-(Quest may only be undertaken by characters with the Red Totem.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-00b.html b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-00b.html deleted file mode 100644 index 2127b65a9f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-00b.html +++ /dev/null @@ -1,4 +0,0 @@ -Soul Guide Udan Mardui:
-You're not strong enough yet.
-(Quest may only be undertaken by characters of level 75 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-01.htm b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-01.htm deleted file mode 100644 index a4569b8d26..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Soul Guide Udan Mardui:
-The chief shaman guards a whole race with his powers of magic. Asefa harnessed some very powerful fire magic. It's not the totem itself, but the soul of fire Nastron conjured by it. We must break the bond between them. Can you complete this mission, friend?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-02.html b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-02.html deleted file mode 100644 index d73d6b18d5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Soul Guide Udan Mardui:
-Excellent. Varka's friend. What you have to do from now on, it's to break into Ketra Orc Outpost and find the Holy Altar. The Holy Altar is hidden in a deep place of Ketra Orc Outpost. First, go to the Holy Altar with this Red Totem. Then, use this Red Totem there and conjure Soul of Fire Nastron which breathes power into Asefa. And then, defeat the appeared Nastron and bring the heart of Flame to Udan Mardui, which is the linkingpin with Asefa. That is your task. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-03.html b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-03.html deleted file mode 100644 index 9fa5654c81..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Soul Guide Udan Mardui:
-Find the holy altar in the Ketra outpost. Use the Red Totem there to conjure Nastron and kill him. Bring me the source of power, his heart of flame! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-04.html b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-04.html deleted file mode 100644 index 21f45a2c1d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Soul Guide Udan Mardui:
-I sensed the magical power of the Ketra Orcs getting weaker. Was your mission a success?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-05.html b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-05.html deleted file mode 100644 index 3649ea663c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Soul Guide Udan Mardui:
-Defeat the soul of fire Nastron and bring me the source of power, the heart of flame! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-06.html b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-06.html deleted file mode 100644 index f3e84c5cc5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Soul Guide Udan Mardui:
-Excellent! Now I, Udan Mardui, will possess Asefa's mighty power of fire! Thanks to you, our victory is assured!
-Congratulations! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-07.html b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-07.html deleted file mode 100644 index b12c94ab63..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31379-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Soul Guide Udan Mardui:
-Bring me Nastron's heart of flame! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-01.html b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-01.html deleted file mode 100644 index 5a1373a8a3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Ketra's Holy Altar:
-This stone sculpture is the work of artisans. It resembles a ram's head.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-02.html b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-02.html deleted file mode 100644 index 74d1efcefe..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Holy Altar:
-The Red Totem broke into pieces with sharp noise. With blue energy around the altar, Soul of Fire Nastron appears. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-03.html b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-03.html deleted file mode 100644 index 2852b3075d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Holy Altar:
-Someone is already performing a ritual at the altar. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-04.html b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-04.html deleted file mode 100644 index 7d0e56c1d0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Holy Spirit:
-Without the Red Totem, I can't conjure Soul of Fire Nastron. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-05.html b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-05.html deleted file mode 100644 index 67bdcd6fd6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/31558-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Ketra's Holy Altar:
-The energy I felt at the altar is getting weaker. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java b/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java deleted file mode 100644 index 55aafcc395..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00616_MagicalPowerOfFirePart2; - -import com.l2jserver.Config; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; -import com.l2jserver.gameserver.network.serverpackets.NpcSay; -import com.l2jserver.gameserver.util.Util; - -/** - * Magical Power of Fire - Part 2 (616) - * @author Joxit - */ -public class Q00616_MagicalPowerOfFirePart2 extends Quest -{ - // NPCs - private static final int UDAN = 31379; - private static final int KETRA_TOTEM = 31558; - // Monster - private static final int NASTRON = 25306; - // Items - private static final int RED_TOTEM = 7243; - private static final int NASTRON_HEART = 7244; - // Misc - private static final int MIN_LEVEL = 75; - - public Q00616_MagicalPowerOfFirePart2() - { - super(616, Q00616_MagicalPowerOfFirePart2.class.getSimpleName(), "Magical Power of Fire - Part 2"); - addStartNpc(UDAN); - addTalkId(UDAN, KETRA_TOTEM); - addKillId(NASTRON); - registerQuestItems(RED_TOTEM, NASTRON_HEART); - - final String test = loadGlobalQuestVar("Q00616_respawn"); - final long remain = (!test.isEmpty()) ? (Long.parseLong(test) - System.currentTimeMillis()) : 0; - if (remain > 0) - { - startQuestTimer("spawn_npc", remain, null, null); - } - else - { - addSpawn(KETRA_TOTEM, 142368, -82512, -6487, 58000, false, 0, true); - } - } - - @Override - public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - if ((st != null) && Util.checkIfInRange(1500, npc, player, false)) - { - if (npc.getId() == NASTRON) - { - switch (st.getCond()) - { - case 1: // take the item and give the heart - st.takeItems(RED_TOTEM, 1); - case 2: - if (!st.hasQuestItems(NASTRON_HEART)) - { - st.giveItems(NASTRON_HEART, 1); - } - st.setCond(3, true); - break; - } - } - } - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = null; - if (player != null) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - switch (event) - { - case "31379-02.html": - st.startQuest(); - htmltext = event; - break; - case "give_heart": - if (st.hasQuestItems(NASTRON_HEART)) - { - st.addExpAndSp(10000, 0); - st.exitQuest(true, true); - htmltext = "31379-06.html"; - } - else - { - htmltext = "31379-07.html"; - } - break; - case "spawn_totem": - htmltext = (st.hasQuestItems(RED_TOTEM)) ? spawnNastron(npc, st) : "31558-04.html"; - break; - } - } - else - { - if (event.equals("despawn_nastron")) - { - npc.broadcastPacket(new NpcSay(npc, Say2.NPC_ALL, NpcStringId.THE_POWER_OF_CONSTRAINT_IS_GETTING_WEAKER_YOUR_RITUAL_HAS_FAILED)); - npc.deleteMe(); - addSpawn(KETRA_TOTEM, 142368, -82512, -6487, 58000, false, 0, true); - } - else if (event.equals("spawn_npc")) - { - addSpawn(KETRA_TOTEM, 142368, -82512, -6487, 58000, false, 0, true); - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final int respawnMinDelay = (int) (43200000 * Config.RAID_MIN_RESPAWN_MULTIPLIER); - final int respawnMaxDelay = (int) (129600000 * Config.RAID_MAX_RESPAWN_MULTIPLIER); - final int respawnDelay = getRandom(respawnMinDelay, respawnMaxDelay); - cancelQuestTimer("despawn_nastron", npc, null); - saveGlobalQuestVar("Q00616_respawn", String.valueOf(System.currentTimeMillis() + respawnDelay)); - startQuestTimer("spawn_npc", respawnDelay, null, null); - executeForEachPlayer(killer, npc, isSummon, true, false); - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case UDAN: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? (st.hasQuestItems(RED_TOTEM)) ? "31379-01.htm" : "31379-00a.html" : "31379-00b.html"; - break; - case State.STARTED: - htmltext = (st.isCond(1)) ? "31379-03.html" : (st.hasQuestItems(NASTRON_HEART)) ? "31379-04.html" : "31379-05.html"; - break; - } - break; - case KETRA_TOTEM: - if (st.isStarted()) - { - switch (st.getCond()) - { - case 1: - htmltext = "31558-01.html"; - break; - case 2: - htmltext = spawnNastron(npc, st); - break; - case 3: - htmltext = "31558-05.html"; - break; - } - } - break; - } - return htmltext; - } - - private String spawnNastron(L2Npc npc, QuestState st) - { - if (getQuestTimer("spawn_npc", null, null) != null) - { - return "31558-03.html"; - } - if (st.isCond(1)) - { - st.takeItems(RED_TOTEM, 1); - st.setCond(2, true); - } - npc.deleteMe(); - final L2Npc nastron = addSpawn(NASTRON, 142528, -82528, -6496, 0, false, 0); - nastron.broadcastPacket(new NpcSay(nastron, Say2.NPC_ALL, NpcStringId.THE_MAGICAL_POWER_OF_FIRE_IS_ALSO_THE_POWER_OF_FLAMES_AND_LAVA_IF_YOU_DARE_TO_CONFRONT_IT_ONLY_DEATH_WILL_AWAIT_YOU)); - startQuestTimer("despawn_nastron", 1200000, nastron, null); - return "31558-02.html"; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-01.htm b/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-01.htm deleted file mode 100644 index 8d44bf3609..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Ghost of Adventurer:
-I came here in search of treasure to reverse my losses... And was killed before I even laid eyes on any! It's so unfair! I must get some treasure! Of course, they say that all the good treasure has already been stolen by graverobbers!
-Hmmm... I remember overhearing some gossip that a group of aristocrats were slaugtered at this sepulcher by evil creatures. I don't mean any disrespect, but if you hunt the evil creatures, you might recover some accessories or jewelry carried by the aristocrats! If you find any would you bring them to me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-02.htm b/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-02.htm deleted file mode 100644 index bc875fc9fd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Ghost of Adventurer:
-Please, do this for me! Hunt the monsters in the Imperial Tomb. Bring me 1000 relics and I'll give you some scraps of paper I've collected. Many people really like my scraps of paper. I'm not sure, but I think they're some sort of weapon recipes...
-While you're doing this, you may find a sepulcher pass that was carried by one of the aristocrats. Ask the nameless ghost near the Four Sepulchers, he will tell you what it's for. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-03.html b/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-03.html deleted file mode 100644 index a67c372a5a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Ghost of Adventurer:
-I came here in search of treasure to reverse my losses... And was killed before I even laid eyes on any! It's so unfair! I must get some treasure! Of course, they say that all the good treasure has already been stolen by graverobbers!
-Hmmm... I remember overhearing some gossip that a group of aristocrats were slaugtered at this sepulcher by evil creatures. Perhaps the treasure from those slain aristocrats might still be there... But this is far too dangerous of a mission for you to take on...
-(This quest may only be undertaken by a character of level 74 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-04.html b/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-04.html deleted file mode 100644 index f8b9f659ee..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-04.html +++ /dev/null @@ -1,6 +0,0 @@ -Ghost of Adventurer:
-Great! You brought 1000 relics! Do you want to trade them for a piece of paper?
-Did you find a sepulcher pass? Ask the nameless ghost near the Four Sepulchers, he'll tell you what it's for.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-05.html b/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-05.html deleted file mode 100644 index e6f3098e99..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Ghost of Adventurer:
-Thank you for continuing to search for relics. Hunt the monsters in the Imperial Tomb, you should be able to find more. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-06.html b/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-06.html deleted file mode 100644 index 0484a19143..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Ghost of Adventurer:
-Here you go! Oh, you like it? I prefer the relics! Bring some more and I'll give you more scraps of paper. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-07.html b/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-07.html deleted file mode 100644 index d92ea68f9e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-07.html +++ /dev/null @@ -1,6 +0,0 @@ -Ghost of Adventurer:
-You don't have 1000 relics yet? Hunt the monsters in the Imperial Tomb, you should be able to obtain them. Keep trying! Collect 1000 relics and bring them to me, I'll give you a very nice piece of paper, supposedly a recipe for some sort of weapon.
-Ah, I see that you have the sepulcher pass! Ask the nameless ghost near the Four Sepulchers, he'll tell you what it's for.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-08.html b/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-08.html deleted file mode 100644 index 3f50d1629e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/31538-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Ghost of Adventurer:
-A quitter, eh? Goodbye. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java b/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java deleted file mode 100644 index 35f07887a0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java +++ /dev/null @@ -1,326 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00619_RelicsOfTheOldEmpire; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.util.Util; - -/** - * Relics of the Old Empire (619) - * @author Adry_85, jurchiks - */ -public final class Q00619_RelicsOfTheOldEmpire extends Quest -{ - private static final class DropInfo - { - public final double _dropChance; - public final int _doubleItemChance; - public final boolean _dropEntrancePass; - - public DropInfo(double dropChance, int doubleItemChance, boolean dropEntrancePass) - { - _dropChance = dropChance; - _doubleItemChance = doubleItemChance; - _dropEntrancePass = dropEntrancePass; - } - - public double getDropChance() - { - return _dropChance; - } - - public int getDoubleItemChance() - { - return _doubleItemChance; - } - - public boolean getDropEntrancePass() - { - return _dropEntrancePass; - } - } - - // NPC - private static final int GHOST_OF_ADVENTURER = 31538; - // Items - private static final int ENTRANCE_PASS_TO_THE_SEPULCHER = 7075; - private static final int BROKEN_RELIC_PART = 7254; - // Misc - private static final int MIN_LEVEL = 74; - private static final int REQUIRED_RELIC_COUNT = 1000; - // Reward - private static final int[] RECIPES = - { - 6881, // Recipe: Forgotten Blade (60%) - 6883, // Recipe: Basalt Battlehammer (60%) - 6885, // Recipe: Imperial Staff (60%) - 6887, // Recipe: Angel Slayer (60%) - 6891, // Recipe: Dragon Hunter Axe (60%) - 6893, // Recipe: Saint Spear (60%) - 6895, // Recipe: Demon Splinter (60%) - 6897, // Recipe: Heavens Divider (60%) - 6899, // Recipe: Arcana Mace (60%) - 7580, // Recipe: Draconic Bow (60%) - }; - // Mobs - private static final Map MOBS = new HashMap<>(); - static - { - MOBS.put(21396, new DropInfo(0.51, 0, true)); // carrion_scarab - MOBS.put(21397, new DropInfo(0.50, 0, true)); // carrion_scarab_a - MOBS.put(21398, new DropInfo(0.95, 0, true)); // soldier_scarab - MOBS.put(21399, new DropInfo(0.84, 0, true)); // soldier_scarab_a - MOBS.put(21400, new DropInfo(0.76, 0, true)); // hexa_beetle - MOBS.put(21401, new DropInfo(0.67, 0, true)); // hexa_beetle_a - MOBS.put(21402, new DropInfo(0.69, 0, true)); // katraxith - MOBS.put(21403, new DropInfo(0.80, 0, true)); // katraxith_a - MOBS.put(21404, new DropInfo(0.90, 0, true)); // tera_beetle - MOBS.put(21405, new DropInfo(0.64, 0, true)); // tera_beetle_a - MOBS.put(21406, new DropInfo(0.87, 0, true)); // imperial_knight - MOBS.put(21407, new DropInfo(0.56, 0, true)); // imperial_knight_a - MOBS.put(21408, new DropInfo(0.82, 0, true)); // imperial_guard - MOBS.put(21409, new DropInfo(0.92, 0, true)); // imperial_guard_a - MOBS.put(21410, new DropInfo(0.81, 0, true)); // guardian_scarab - MOBS.put(21411, new DropInfo(0.66, 0, true)); // guardian_scarab_a - MOBS.put(21412, new DropInfo(1.00, 6, true)); // ustralith - MOBS.put(21413, new DropInfo(0.81, 0, true)); // ustralith_a - MOBS.put(21414, new DropInfo(0.79, 0, true)); // imperial_assassin - MOBS.put(21415, new DropInfo(0.80, 0, true)); // imperial_assassin_a - MOBS.put(21416, new DropInfo(0.82, 0, true)); // imperial_warlord - MOBS.put(21417, new DropInfo(1.00, 27, true)); // imperial_warlord_a - MOBS.put(21418, new DropInfo(0.66, 0, true)); // imperial_highguard - MOBS.put(21419, new DropInfo(0.67, 0, true)); // imperial_highguard_a - MOBS.put(21420, new DropInfo(0.82, 0, true)); // ashuras - MOBS.put(21421, new DropInfo(0.77, 0, true)); // ashuras_a - MOBS.put(21422, new DropInfo(0.88, 0, true)); // imperial_dancer - MOBS.put(21423, new DropInfo(0.94, 0, true)); // imperial_dancer_a - MOBS.put(21424, new DropInfo(1.00, 19, true)); // ashikenas - MOBS.put(21425, new DropInfo(1.00, 21, true)); // ashikenas_a - MOBS.put(21426, new DropInfo(1.00, 8, true)); // abraxian - MOBS.put(21427, new DropInfo(0.74, 0, true)); // abraxian_a - MOBS.put(21428, new DropInfo(0.76, 0, true)); // hasturan - MOBS.put(21429, new DropInfo(0.80, 0, true)); // hasturan_a - MOBS.put(21430, new DropInfo(1.00, 10, true)); // ahrimanes - MOBS.put(21431, new DropInfo(0.94, 0, true)); // ahrimanes_a - MOBS.put(21432, new DropInfo(1.00, 34, true)); // chakram_beetle - MOBS.put(21433, new DropInfo(1.00, 34, true)); // jamadhr_beetle - MOBS.put(21434, new DropInfo(1.00, 90, true)); // priest_of_blood - MOBS.put(21435, new DropInfo(1.00, 60, true)); // sacrifice_guide - MOBS.put(21436, new DropInfo(1.00, 66, true)); // sacrifice_bearer - MOBS.put(21437, new DropInfo(0.69, 0, true)); // sacrifice_scarab - MOBS.put(21798, new DropInfo(0.33, 0, true)); // guard_skeleton_2d - MOBS.put(21799, new DropInfo(0.61, 0, true)); // guard_skeleton_3d - MOBS.put(21800, new DropInfo(0.31, 0, true)); // guard_undead - MOBS.put(18120, new DropInfo(1.00, 28, false)); // r11_roomboss_strong - MOBS.put(18121, new DropInfo(1.00, 21, false)); // r11_roomboss_weak - MOBS.put(18122, new DropInfo(0.93, 0, false)); // r11_roomboss_teleport - MOBS.put(18123, new DropInfo(1.00, 28, false)); // r12_roomboss_strong - MOBS.put(18124, new DropInfo(1.00, 21, false)); // r12_roomboss_weak - MOBS.put(18125, new DropInfo(0.93, 0, false)); // r12_roomboss_teleport - MOBS.put(18126, new DropInfo(1.00, 28, false)); // r13_roomboss_strong - MOBS.put(18127, new DropInfo(1.00, 21, false)); // r13_roomboss_weak - MOBS.put(18128, new DropInfo(0.93, 0, false)); // r13_roomboss_teleport - MOBS.put(18129, new DropInfo(1.00, 28, false)); // r14_roomboss_strong - MOBS.put(18130, new DropInfo(1.00, 21, false)); // r14_roomboss_weak - MOBS.put(18131, new DropInfo(0.93, 0, false)); // r14_roomboss_teleport - MOBS.put(18132, new DropInfo(1.00, 30, false)); // r1_beatle_healer - MOBS.put(18133, new DropInfo(1.00, 20, false)); // r1_scorpion_warrior - MOBS.put(18134, new DropInfo(0.90, 0, false)); // r1_warrior_longatk1_h - MOBS.put(18135, new DropInfo(1.00, 20, false)); // r1_warrior_longatk2 - MOBS.put(18136, new DropInfo(1.00, 20, false)); // r1_warrior_selfbuff - MOBS.put(18137, new DropInfo(0.89, 0, false)); // r1_wizard_h - MOBS.put(18138, new DropInfo(1.00, 19, false)); // r1_wizard_clanbuff - MOBS.put(18139, new DropInfo(1.00, 17, false)); // r1_wizard_debuff - MOBS.put(18140, new DropInfo(1.00, 19, false)); // r1_wizard_selfbuff - MOBS.put(18141, new DropInfo(0.76, 0, false)); // r21_scarab_roombosss - MOBS.put(18142, new DropInfo(0.76, 0, false)); // r22_scarab_roombosss - MOBS.put(18143, new DropInfo(0.76, 0, false)); // r23_scarab_roombosss - MOBS.put(18144, new DropInfo(0.76, 0, false)); // r24_scarab_roombosss - MOBS.put(18145, new DropInfo(0.65, 0, false)); // r2_wizard_clanbuff - MOBS.put(18146, new DropInfo(0.66, 0, false)); // r2_warrior_longatk2 - MOBS.put(18147, new DropInfo(0.62, 0, false)); // r2_wizard - MOBS.put(18148, new DropInfo(0.72, 0, false)); // r2_warrior - MOBS.put(18149, new DropInfo(0.63, 0, false)); // r2_bomb - MOBS.put(18166, new DropInfo(0.92, 0, false)); // r3_warrior - MOBS.put(18167, new DropInfo(0.92, 0, false)); // r3_warrior_longatk1_h - MOBS.put(18168, new DropInfo(0.93, 0, false)); // r3_warrior_longatk2 - MOBS.put(18169, new DropInfo(0.90, 0, false)); // r3_warrior_selfbuff - MOBS.put(18170, new DropInfo(0.90, 0, false)); // r3_wizard_h - MOBS.put(18171, new DropInfo(0.94, 0, false)); // r3_wizard_clanbuff - MOBS.put(18172, new DropInfo(0.89, 0, false)); // r3_wizard_selfbuff - MOBS.put(18173, new DropInfo(0.99, 0, false)); // r41_roomboss_strong - MOBS.put(18174, new DropInfo(1.00, 22, false)); // r41_roomboss_weak - MOBS.put(18175, new DropInfo(0.93, 0, false)); // r41_roomboss_teleport - MOBS.put(18176, new DropInfo(0.99, 0, false)); // r42_roomboss_strong - MOBS.put(18177, new DropInfo(1.00, 22, false)); // r42_roomboss_weak - MOBS.put(18178, new DropInfo(0.93, 0, false)); // r42_roomboss_teleport - MOBS.put(18179, new DropInfo(0.99, 0, false)); // r43_roomboss_strong - MOBS.put(18180, new DropInfo(1.00, 22, false)); // r43_roomboss_weak - MOBS.put(18181, new DropInfo(0.93, 0, false)); // r43_roomboss_teleport - MOBS.put(18183, new DropInfo(1.00, 22, false)); // r44_roomboss_weak - MOBS.put(18183, new DropInfo(0.99, 0, false)); // r44_roomboss_strong - MOBS.put(18184, new DropInfo(0.93, 0, false)); // r44_roomboss_teleport - MOBS.put(18185, new DropInfo(1.00, 23, false)); // r4_healer_srddmagic - MOBS.put(18186, new DropInfo(1.00, 24, false)); // r4_hearler_srdebuff - MOBS.put(18187, new DropInfo(1.00, 20, false)); // r4_warrior - MOBS.put(18188, new DropInfo(0.90, 0, false)); // r4_warrior_longatk1_h - MOBS.put(18189, new DropInfo(1.00, 20, false)); // r4_warrior_longatk2 - MOBS.put(18190, new DropInfo(1.00, 20, false)); // r4_warrior_selfbuff - MOBS.put(18191, new DropInfo(0.89, 0, false)); // r4_wizard_h - MOBS.put(18192, new DropInfo(1.00, 19, false)); // r4_wizard_clanbuff - MOBS.put(18193, new DropInfo(1.00, 17, false)); // r4_wizard_debuff - MOBS.put(18194, new DropInfo(1.00, 19, false)); // r4_wizard_selfbuff - MOBS.put(18195, new DropInfo(0.91, 0, false)); // r4_bomb - MOBS.put(18220, new DropInfo(1.00, 24, false)); // r5_healer1 - MOBS.put(18221, new DropInfo(1.00, 27, false)); // r5_healer2 - MOBS.put(18222, new DropInfo(1.00, 21, false)); // r5_warrior - MOBS.put(18223, new DropInfo(0.90, 0, false)); // r5_warrior_longatk1_h - MOBS.put(18224, new DropInfo(1.00, 22, false)); // r5_warrior_longatk2 - MOBS.put(18225, new DropInfo(1.00, 21, false)); // r5_warrior_sbuff - MOBS.put(18226, new DropInfo(0.89, 0, false)); // r5_wizard_h - MOBS.put(18227, new DropInfo(1.00, 53, false)); // r5_wizard_clanbuff - MOBS.put(18228, new DropInfo(1.00, 15, false)); // r5_wizard_debuff - MOBS.put(18229, new DropInfo(1.00, 19, false)); // r5_wizard_slefbuff - MOBS.put(18230, new DropInfo(0.49, 0, false)); // r5_bomb - } - - // @formatter:off - private static final int[] ARCHON_OF_HALISHA = - { - 18212, 18213, 18214, 18215, 18216, 18217, 18218, 18219 - }; - // @formatter:on - - public Q00619_RelicsOfTheOldEmpire() - { - super(619, Q00619_RelicsOfTheOldEmpire.class.getSimpleName(), "Relics of the Old Empire"); - addStartNpc(GHOST_OF_ADVENTURER); - addTalkId(GHOST_OF_ADVENTURER); - addKillId(MOBS.keySet()); - addKillId(ARCHON_OF_HALISHA); - registerQuestItems(BROKEN_RELIC_PART); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "31538-02.htm": - { - st.startQuest(); - htmltext = event; - break; - } - case "31538-05.html": - { - htmltext = event; - break; - } - case "31538-06.html": - { - if (st.getQuestItemsCount(BROKEN_RELIC_PART) >= REQUIRED_RELIC_COUNT) - { - st.rewardItems(RECIPES[getRandom(RECIPES.length)], 1); - st.takeItems(BROKEN_RELIC_PART, REQUIRED_RELIC_COUNT); - htmltext = event; - } - break; - } - case "31538-08.html": - { - st.exitQuest(true, true); - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState st = getRandomPartyMemberState(player, -1, 3, npc); - if (st != null) - { - int npcId = npc.getId(); - if (Util.contains(ARCHON_OF_HALISHA, npcId)) - { - final int itemCount = ((getRandom(100) < 79) ? 4 : 3); - st.giveItemRandomly(npc, BROKEN_RELIC_PART, itemCount, 0, 1.0, true); - } - else - { - final DropInfo info = MOBS.get(npcId); - final int itemCount; - - if (info.getDoubleItemChance() > 0) - { - itemCount = ((getRandom(100) < info.getDoubleItemChance()) ? 2 : 1); - } - else - { - itemCount = 1; - } - - st.giveItemRandomly(npc, BROKEN_RELIC_PART, itemCount, 0, info.getDropChance(), true); - - if (info.getDropEntrancePass()) - { - st.giveItemRandomly(npc, ENTRANCE_PASS_TO_THE_SEPULCHER, 1, 0, 1.0 / 30, false); - } - } - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - - if (st.isCreated()) - { - htmltext = ((player.getLevel() >= MIN_LEVEL) ? "31538-01.htm" : "31538-03.html"); - } - else if (st.isStarted()) - { - htmltext = ((getQuestItemsCount(player, BROKEN_RELIC_PART) >= REQUIRED_RELIC_COUNT) ? "31538-04.html" : "31538-07.html"); - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00625_TheFinestIngredientsPart2/Q00625_TheFinestIngredientsPart2.java b/trunk/dist/game/data/scripts/quests/Q00625_TheFinestIngredientsPart2/Q00625_TheFinestIngredientsPart2.java index 80630c2eb8..10a297831c 100644 --- a/trunk/dist/game/data/scripts/quests/Q00625_TheFinestIngredientsPart2/Q00625_TheFinestIngredientsPart2.java +++ b/trunk/dist/game/data/scripts/quests/Q00625_TheFinestIngredientsPart2/Q00625_TheFinestIngredientsPart2.java @@ -19,6 +19,7 @@ package quests.Q00625_TheFinestIngredientsPart2; import com.l2jserver.gameserver.datatables.SpawnTable; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -26,7 +27,6 @@ import com.l2jserver.gameserver.model.holders.ItemHolder; import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.util.Util; @@ -163,7 +163,7 @@ public final class Q00625_TheFinestIngredientsPart2 extends Quest { if (isBumbalumpSpawned()) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getTemplate().getDisplayId(), NpcStringId.OOOH)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getTemplate().getDisplayId(), NpcStringId.OOOH)); } break; } @@ -261,7 +261,7 @@ public final class Q00625_TheFinestIngredientsPart2 extends Quest public String onSpawn(L2Npc npc) { startQuestTimer("NPC_TALK", 1000 * 1200, npc, null); - // npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getTemplate().getDisplayId(), NpcStringId.I_SMELL_SOMETHING_DELICIOUS)); //TODO: St3eT: Find proper NpcStringId + // npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getTemplate().getDisplayId(), NpcStringId.I_SMELL_SOMETHING_DELICIOUS)); //TODO: St3eT: Find proper NpcStringId return super.onSpawn(npc); } @@ -284,4 +284,4 @@ public final class Q00625_TheFinestIngredientsPart2 extends Quest { return SpawnTable.getInstance().getFirstSpawn(ICICLE_EMPEROR_BUMBALUMP) != null; } -} +} diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-01.htm b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-01.htm deleted file mode 100644 index b20d82a440..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Kahman:
-I'm in charge of finding skilled soldiers to become brothers in our Golden Ram Mercenary Force! Are you up to the task?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-02.htm b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-02.htm deleted file mode 100644 index bfa878c14b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Kahman:
-I admire your courage, but you lack the required skills to join us.
-(Quest available only for characters level 66 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-03.htm b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-03.htm deleted file mode 100644 index 11a8e2fed5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Mercenary Kahman:
-We are here to destroy the Stakatos in the Swamp of Screams. They're no match for our skills, but they're tough and outnumber us, so we need all the skilled help we can get.
-You meet the basic requirements, but you must prove yourself if you want to be a member of the Golden Ram Mercenary Force!
-Kill Splinter Stakatos, Splinter Stakato Walkers, Splinter Stakato Soldiers and Splinter Stakato Drones and bring back one-hundred Stakato Chitins to prove your worth.
-Good luck to you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-04.htm b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-04.htm deleted file mode 100644 index a9ec33d929..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-04.htm +++ /dev/null @@ -1,6 +0,0 @@ -Mercenary Kahman:
-There are two classes here, rookie and elite.
-An elite mercenary is a veteran with a long record of active service. The title earns you special priviliges.
-Rookies must kill Needle Stakatos as well as Splinter Stakatos to gain elite status. Collect one-hundred Chitins each of Splinter Stakatos and Needle Stakatos to earn the title.
-Show them what you're worth! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-05.htm b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-05.htm deleted file mode 100644 index d4f5cb6493..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-05.htm +++ /dev/null @@ -1,5 +0,0 @@ -Mercenary Kahman:
-You're already an elite warrior! What more do you want? You are free to choose.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-06.html b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-06.html deleted file mode 100644 index d70660d9a0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Mercenary Kahman:
-To become an honorable member of the Golden Ram Mercenary Force, you must collect 100 Chitins of Splinter Stakatos from the Swamp of Screams. Now go! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-07.html b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-07.html deleted file mode 100644 index 2b329648a9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Kahman:
-You're back! Have you taught the stakatos a lesson?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-08.html b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-08.html deleted file mode 100644 index 6b5244ab7f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-08.html +++ /dev/null @@ -1,6 +0,0 @@ -Mercenary Kahman:
-Great work, my soldier! You are fully qualified to become a brother of the Golden Ram Mercenary Force!
-Well, take this mark of Golden Ram - Recruit! From now on, you are a brother of the Golden Ram Mercenary Force. Congratulations!
-But, you must get stronger, stranger, if you want to become an elite soldier! Go into the Swamp of Screams, kill Splinter Stakatos and Needle Stakatos, and collect 100 Chitins each of Splinter Stakatos and Needle Stakatos!
-If you can't carry out such a task, you will not be able to become the Elite! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-09.html b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-09.html deleted file mode 100644 index e9f9dee5b5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-09.html +++ /dev/null @@ -1,6 +0,0 @@ -Mercenary Kahman:
-To become an elite member of the Golden Ram Mercenary Force, you must collect 100 Chitins each of Splinter Stakatos and Needle Stakatos.
-Prove your skills and you can rise in the ranks!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-10.html b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-10.html deleted file mode 100644 index 177da31e87..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-10.html +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Kahman:
-Your skills and long record of active service have earned you the title of elite mercenary in the Golden Ram Force!
-Take this Golden Ram Badge - Soldier. Congratulations, brother! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-11.html b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-11.html deleted file mode 100644 index 768ed38f9e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-11.html +++ /dev/null @@ -1,7 +0,0 @@ -Mercenary Kahman:
-See Mercenary Medic Selina and Mercenary Supplier Abercrombie if you need anything.
-Selina will help you with magic and Abercrombie will help you with supplies.
-Let me know if you've ever had enough.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-12.html b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-12.html deleted file mode 100644 index 059afd401d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-12.html +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Kahman:
-It's not easy to become a member. If you quit now, you may regret it later! You'll have to start from the beginning if you come back. Are you sure?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-13.html b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-13.html deleted file mode 100644 index f486334f6a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-13.html +++ /dev/null @@ -1,3 +0,0 @@ -Mercenary Kahman:
-That's the spirit! Kill with extreme prejudice in the name of the Golden Ram! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-14.html b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-14.html deleted file mode 100644 index 665c69dd74..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31554-14.html +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Kahman:
-What a pity. We can't afford to lose such skills, but I'll respect your decision.
-I hope to hear of your great deeds someday. May Pa'agrio's Flame be with you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-00.htm b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-00.htm deleted file mode 100644 index 43678c5ebd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-00.htm +++ /dev/null @@ -1,5 +0,0 @@ -Mercenary Supplier Abercrombie:
-Jeesh! Why are you turning into such a pain?! Can't you see I'm busy? It's more than enough for me to deal with the mercenaries! I don't have the time to deal with an outsider like you!
-If you want to serve in our Golden Ram Mercenary force, why don't you go see Kadoon. What a life! What kind of fortune can I make here? Sigh! What a life!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-01.htm b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-01.htm deleted file mode 100644 index 199b7713c4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Mercenary Supplier Abercrombie:
-Everyone's talking about the excellence you showed in battle again today! You're winning all the bonuses! Ha! It's good to see someone succeed in this godforsaken place!
-Now tell me! Is there anything in particular you want? Although only a few types of supplies are available, I'll see what I can do. By the way, you prepared a chit didn't you?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-02.htm b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-02.htm deleted file mode 100644 index 6a47002af7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31555-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Mercenary Supplier Abercrombie:
-Everyone's talking about the excellence you showed in battle again today! You're winning all the bonuses! Ha! It's good to see someone succeed in this godforsaken place!
-Now tell me! Is there anything in particular you want? Although only a few types of supplies are available, I'll see what I can do. By the way, you prepared a chit didn't you?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-00.htm b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-00.htm deleted file mode 100644 index 2b87031aab..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-00.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Medic Selina:
-Hey, you're not my boyfriend! You don't even belong to the Golden Ram Mercenary force! Get away from me!
-If you want to join our force go talk to that rough-looking Orc over there. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-01.htm b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-01.htm deleted file mode 100644 index 8114f3be76..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Mercenary Medic Selina:
-Huh? Have you joined us? Excellent!
-My name's Selina. I'm a medic. Welcome aboard!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-02.htm b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-02.htm deleted file mode 100644 index de5e22efdc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Mercenary Medic Selina:
-Listen up! Your bravery is admirable, but you must take better care of yourself! I actually felt sorry for you when you came in so mangled!
-But don't get me wrong, you did a great job! You really raised morale around here! I'd like to offer you some magical assistance. Let me know if you need anything.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-03.htm b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-03.htm deleted file mode 100644 index 2e1c8003c4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-03.htm +++ /dev/null @@ -1,10 +0,0 @@ -Mercenary Medic Selina:
- - - - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-04.htm b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-04.htm deleted file mode 100644 index 298d5fb287..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/31556-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -Mercenary Medic Selina:
-You don't have required items. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/Q00628_HuntGoldenRam.java b/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/Q00628_HuntGoldenRam.java deleted file mode 100644 index 3bde3f4b5c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00628_HuntGoldenRam/Q00628_HuntGoldenRam.java +++ /dev/null @@ -1,356 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00628_HuntGoldenRam; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.datatables.SkillData; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemChanceHolder; -import com.l2jserver.gameserver.model.holders.QuestItemHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Hunt of the Golden Ram Mercenary Force (628) - * @author netvirus - */ -public final class Q00628_HuntGoldenRam extends Quest -{ - // NPCs - private static final int KAHMAN = 31554; - private static final int ABERCROMBIE = 31555; - private static final int SELINA = 31556; - // Items - private static final int GOLDEN_RAM_COIN = 7251; - private static final int BADGE_RECRUIT = 7246; - private static final int BADGE_SOLDIER = 7247; - private static final int SPLINTER_STAKATO_CHITIN = 7248; - private static final int NEEDLE_STAKATO_CHITIN = 7249; - // Misc - private static final int REQUIRED_ITEM_COUNT = 100; - private static final int MIN_LVL = 66; - // Mobs - private static final Map MOBS_DROP_CHANCES = new HashMap<>(); - // Buffs - private static final Map BUFFS = new HashMap<>(); - - static - { - MOBS_DROP_CHANCES.put(21508, new ItemChanceHolder(SPLINTER_STAKATO_CHITIN, 0.500, 1)); // splinter_stakato - MOBS_DROP_CHANCES.put(21509, new ItemChanceHolder(SPLINTER_STAKATO_CHITIN, 0.430, 1)); // splinter_stakato_worker - MOBS_DROP_CHANCES.put(21510, new ItemChanceHolder(SPLINTER_STAKATO_CHITIN, 0.521, 1)); // splinter_stakato_soldier - MOBS_DROP_CHANCES.put(21511, new ItemChanceHolder(SPLINTER_STAKATO_CHITIN, 0.575, 1)); // splinter_stakato_drone - MOBS_DROP_CHANCES.put(21512, new ItemChanceHolder(SPLINTER_STAKATO_CHITIN, 0.746, 1)); // splinter_stakato_drone_a - MOBS_DROP_CHANCES.put(21513, new ItemChanceHolder(NEEDLE_STAKATO_CHITIN, 0.500, 2)); // needle_stakato - MOBS_DROP_CHANCES.put(21514, new ItemChanceHolder(NEEDLE_STAKATO_CHITIN, 0.430, 2)); // needle_stakato_worker - MOBS_DROP_CHANCES.put(21515, new ItemChanceHolder(NEEDLE_STAKATO_CHITIN, 0.520, 2)); // needle_stakato_soldier - MOBS_DROP_CHANCES.put(21516, new ItemChanceHolder(NEEDLE_STAKATO_CHITIN, 0.531, 2)); // needle_stakato_drone - MOBS_DROP_CHANCES.put(21517, new ItemChanceHolder(NEEDLE_STAKATO_CHITIN, 0.744, 2)); // needle_stakato_drone_a - - BUFFS.put("Focus", new QuestItemHolder(4404, 2, 2)); // (buff_id, buff_level, buff_cost) - BUFFS.put("Death", new QuestItemHolder(4405, 2, 2)); - BUFFS.put("Might", new QuestItemHolder(4393, 3, 3)); - BUFFS.put("Acumen", new QuestItemHolder(4400, 2, 3)); - BUFFS.put("Berserker", new QuestItemHolder(4397, 1, 3)); - BUFFS.put("Vampiric", new QuestItemHolder(4399, 2, 3)); - BUFFS.put("Empower", new QuestItemHolder(4401, 1, 6)); - BUFFS.put("Haste", new QuestItemHolder(4402, 2, 6)); - } - - public Q00628_HuntGoldenRam() - { - super(628, Q00628_HuntGoldenRam.class.getSimpleName(), "Hunt of the Golden Ram Mercenary Force"); - addStartNpc(KAHMAN); - addTalkId(KAHMAN, SELINA); - addFirstTalkId(ABERCROMBIE, SELINA); - addKillId(MOBS_DROP_CHANCES.keySet()); - registerQuestItems(SPLINTER_STAKATO_CHITIN, NEEDLE_STAKATO_CHITIN, BADGE_RECRUIT, BADGE_SOLDIER); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - String htmltext = null; - if (qs == null) - { - return htmltext; - } - - switch (event) - { - case "accept": - { - if (qs.isCreated()) - { - final boolean itemRecruit = hasQuestItems(player, BADGE_RECRUIT); - final boolean itemSoldier = hasQuestItems(player, BADGE_SOLDIER); - qs.startQuest(); - if (itemSoldier) - { - htmltext = "31554-05.htm"; - qs.setCond(3); - } - else if (itemRecruit) - { - htmltext = "31554-04.htm"; - qs.setCond(2); - } - else - { - htmltext = "31554-03.htm"; - } - } - break; - } - case "31554-08.html": - { - if (qs.isStarted()) - { - giveItems(player, BADGE_RECRUIT, 1); - takeItems(player, SPLINTER_STAKATO_CHITIN, -1); - qs.setCond(2, true); - htmltext = event; - } - break; - } - case "31554-12.html": - case "31554-13.html": - { - if (qs.isStarted()) - { - htmltext = event; - } - break; - } - case "31554-14.html": - { - if (qs.isStarted()) - { - qs.exitQuest(true, true); - htmltext = event; - } - break; - } - case "Focus": - case "Death": - case "Might": - case "Acumen": - case "Berserker": - case "Vampiric": - case "Empower": - case "Haste": - { - if (qs.isCond(3)) - { - final QuestItemHolder buffs = BUFFS.get(event); - if (getQuestItemsCount(player, GOLDEN_RAM_COIN) >= buffs.getCount()) - { - takeItems(player, GOLDEN_RAM_COIN, buffs.getCount()); - npc.setTarget(player); - npc.doCast(SkillData.getInstance().getSkill(buffs.getId(), buffs.getChance())); - htmltext = "31556-03.htm"; - } - else - { - htmltext = "31556-04.htm"; - } - } - break; - } - } - return htmltext; - } - - @Override - public String onFirstTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = null; - if (qs == null) - { - switch (npc.getId()) - { - case ABERCROMBIE: - { - htmltext = "31555-00.htm"; - break; - } - case SELINA: - { - htmltext = "31556-00.htm"; - break; - } - } - return htmltext; - } - - final boolean itemRecruit = hasQuestItems(player, BADGE_RECRUIT); - final boolean itemSolder = hasQuestItems(player, BADGE_SOLDIER); - switch (npc.getId()) - { - case ABERCROMBIE: - { - if (qs.isStarted()) - { - if (itemRecruit) - { - htmltext = "31555-01.htm"; - } - else if (itemSolder) - { - htmltext = "31555-02.htm"; - } - else - { - htmltext = "31555-00.htm"; - } - } - break; - } - case SELINA: - { - if (qs.isStarted()) - { - if (itemRecruit) - { - htmltext = "31556-01.htm"; - } - else if (itemSolder) - { - htmltext = "31556-02.htm"; - } - else - { - htmltext = "31556-00.htm"; - } - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - QuestState qs = getRandomPartyMemberState(killer, -1, 1, npc); - if (qs != null) - { - final ItemChanceHolder item = MOBS_DROP_CHANCES.get(npc.getId()); - if ((item.getCount() <= qs.getCond()) && !qs.isCond(3)) - { - giveItemRandomly(qs.getPlayer(), npc, item.getId(), 1, REQUIRED_ITEM_COUNT, item.getChance(), true); - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case KAHMAN: - { - switch (qs.getState()) - { - case State.CREATED: - { - htmltext = ((player.getLevel() >= MIN_LVL) ? "31554-01.htm" : "31554-02.htm"); - break; - } - case State.STARTED: - { - final long itemCountSplinter = getQuestItemsCount(player, SPLINTER_STAKATO_CHITIN); - final long itemCountNeedle = getQuestItemsCount(player, NEEDLE_STAKATO_CHITIN); - switch (qs.getCond()) - { - case 1: - { - htmltext = ((itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html"); - break; - } - case 2: - { - if (hasQuestItems(player, BADGE_RECRUIT)) - { - if ((itemCountSplinter >= REQUIRED_ITEM_COUNT) && (itemCountNeedle >= REQUIRED_ITEM_COUNT)) - { - takeItems(player, BADGE_RECRUIT, -1); - takeItems(player, SPLINTER_STAKATO_CHITIN, -1); - takeItems(player, NEEDLE_STAKATO_CHITIN, -1); - giveItems(player, BADGE_SOLDIER, 1); - qs.setCond(3, true); - htmltext = "31554-10.html"; - } - else - { - htmltext = "31554-09.html"; - } - } - else - { - qs.setCond(1); - htmltext = ((itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html"); - } - break; - } - case 3: - { - if (hasQuestItems(player, BADGE_SOLDIER)) - { - htmltext = "31554-11.html"; - } - else - { - qs.setCond(1); - htmltext = ((itemCountSplinter >= REQUIRED_ITEM_COUNT) ? "31554-07.html" : "31554-06.html"); - } - break; - } - } - break; - } - } - break; - } - case SELINA: - { - if (qs.isCond(3)) - { - htmltext = "31556-03.htm"; - } - break; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-01.htm b/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-01.htm deleted file mode 100644 index a3ddc236b9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Mercenary Captain Pierce:
-Do you know why this is called the Swamp of Screams? Because of the haunting screams of those caught off guard! It's our rule to finish any job we take, no matter how difficult.
-Are you ready to help empty the swamp of the stakatos?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-02.htm b/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-02.htm deleted file mode 100644 index 28bd40cc76..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Mercenary Captain Pierce:
-Do you know why this is called the Swamp of Screams? Because of the haunting screams of those caught off guard. It's our rule to finish any job we start, no matter how difficult.
-You're not up to it yet.
-(Quest may only be undertaken by characters level 66 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-03.htm b/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-03.htm deleted file mode 100644 index e8a4909c3d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Mercenary Captain Pierce:
-You'll find two types of stakatos in the Swamp of Screams, Splinter Stakatos around the edges and Needle Stakatos at the center. There are many poisonous pools that they hang around, so beware.
-When you kill one, pull out its claws. Collect 100 on each outing, they serve as proof of your deeds.
-Your life is most important, so don't get in over your head. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-04.html b/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-04.html deleted file mode 100644 index 5a8631b232..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Captain Pierce:
-Thank god you came back alright. So, how's the situation?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-05.html b/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-05.html deleted file mode 100644 index c6db0caac3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Mercenary Captain Pierce:
-Do you want to get demoted for delinquency? Get out there and slay some stakatos! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-06.html b/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-06.html deleted file mode 100644 index a5f49b0057..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Mercenary Captain Pierce:
-It is impossible for us to clear the whole swamp. We don't have the strength to strike a fatal blow, we'd have to tackle the incubator and kill the queen. Our resources are too few, but we must continue until given the withdrawal order. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-07.html b/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-07.html deleted file mode 100644 index b161d77a75..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-07.html +++ /dev/null @@ -1,7 +0,0 @@ -Mercenary Captain Pierce:
-Great fighting. Take a rest for the moment.
-Ah, take this with you. This is a reward for bringing 100 Stakato claws. It is paid to mercenaries as an allowance. Take it to the Mercenary Supplier and exchange it with various things. If you need anything, go see Abercrombie anytime!
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-08.html b/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-08.html deleted file mode 100644 index d3ad85a418..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Mercenary Captain Pierce:
-Don't rest until you've brought back 100 stakato claws. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-09.html b/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-09.html deleted file mode 100644 index ac8fbd92bd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/31553-09.html +++ /dev/null @@ -1,4 +0,0 @@ -Mercenary Captain Pierce:
-Quitting, huh?
-The Golden Ram will always welcome skilled soldiers like you! You must have your own reasons, and I thank you for helping us. Come back whenever you want a good fight! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/Q00629_CleanUpTheSwampOfScreams.java b/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/Q00629_CleanUpTheSwampOfScreams.java deleted file mode 100644 index de40ff1e10..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00629_CleanUpTheSwampOfScreams/Q00629_CleanUpTheSwampOfScreams.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00629_CleanUpTheSwampOfScreams; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Clean Up The Swamp Of Screams (629) - * @author netvirus - */ -public final class Q00629_CleanUpTheSwampOfScreams extends Quest -{ - // NPC - private static final int PIERCE = 31553; - // Items - private static final int TALON_OF_STAKATO = 7250; - private static final int GOLDEN_RAM_COIN = 7251; - // Misc - private static final int REQUIRED_TALON_COUNT = 100; - private static final int MIN_LVL = 66; - // Mobs - private static final Map MOBS_DROP_CHANCES = new HashMap<>(); - - static - { - MOBS_DROP_CHANCES.put(21508, 0.599); // splinter_stakato - MOBS_DROP_CHANCES.put(21509, 0.524); // splinter_stakato_worker - MOBS_DROP_CHANCES.put(21510, 0.640); // splinter_stakato_soldier - MOBS_DROP_CHANCES.put(21511, 0.830); // splinter_stakato_drone - MOBS_DROP_CHANCES.put(21512, 0.970); // splinter_stakato_drone_a - MOBS_DROP_CHANCES.put(21513, 0.682); // needle_stakato - MOBS_DROP_CHANCES.put(21514, 0.595); // needle_stakato_worker - MOBS_DROP_CHANCES.put(21515, 0.727); // needle_stakato_soldier - MOBS_DROP_CHANCES.put(21516, 0.879); // needle_stakato_drone - MOBS_DROP_CHANCES.put(21517, 0.999); // needle_stakato_drone_a - } - - public Q00629_CleanUpTheSwampOfScreams() - { - super(629, Q00629_CleanUpTheSwampOfScreams.class.getSimpleName(), "Clean Up The Swamp Of Screams"); - addStartNpc(PIERCE); - addTalkId(PIERCE); - addKillId(MOBS_DROP_CHANCES.keySet()); - registerQuestItems(TALON_OF_STAKATO, GOLDEN_RAM_COIN); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - String htmltext = null; - if (qs == null) - { - return htmltext; - } - - switch (event) - { - case "31553-03.htm": - { - if (qs.isCreated()) - { - qs.startQuest(); - htmltext = event; - } - break; - } - case "31553-04.html": - case "31553-06.html": - { - if (qs.isStarted()) - { - htmltext = event; - } - break; - } - case "31553-07.html": - { - if (qs.isStarted() && (getQuestItemsCount(player, TALON_OF_STAKATO) >= REQUIRED_TALON_COUNT)) - { - rewardItems(player, GOLDEN_RAM_COIN, 20); - takeItems(player, TALON_OF_STAKATO, 100); - htmltext = event; - } - else - { - htmltext = "31553-08.html"; - } - break; - } - case "31553-09.html": - { - if (qs.isStarted()) - { - qs.exitQuest(true, true); - htmltext = event; - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(killer, -1, 2, npc); - if (qs != null) - { - giveItemRandomly(qs.getPlayer(), npc, TALON_OF_STAKATO, 1, 0, MOBS_DROP_CHANCES.get(npc.getId()), true); - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs == null) - { - return htmltext; - } - - if (qs.isCreated()) - { - htmltext = ((player.getLevel() >= MIN_LVL) ? "31553-01.htm" : "31553-02.htm"); - } - else if (qs.isStarted()) - { - htmltext = ((getQuestItemsCount(player, TALON_OF_STAKATO) >= REQUIRED_TALON_COUNT) ? "31553-04.html" : "31553-05.html"); - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-101.htm b/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-101.htm deleted file mode 100644 index 818ef3da39..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-101.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-This land is fertile ground for the materials I need in my dark arts. The problem is, my servants all have rotten heads! I need someone to give me a hand cultivating the forest.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-103.htm b/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-103.htm deleted file mode 100644 index a21dcb17c2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-103.htm +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-I'm looking for someone whose power is equal to the Lord of the Forest of the Dead! I have many servants, even if their heads are rotten.
-(Quest may only be undertaken by a character level 63 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-104.htm b/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-104.htm deleted file mode 100644 index ce5b34ecdd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-104.htm +++ /dev/null @@ -1,5 +0,0 @@ -Mysterious Wizard:
-The most important of the materials I need are undead hearts with their Human memory intact.
-Especially the grey heart of undead vampires. They're just as good as red cloth from Aden. I need 200 of them.
-Also, I'll trade you something for undead brains. You can hunt them at night. What do you think? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-105.html b/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-105.html deleted file mode 100644 index 3089c87bb2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-105.html +++ /dev/null @@ -1,7 +0,0 @@ -Mysterious Wizard:
-Good, you brought 200 vampire hearts.
-I'll buy them with Adena, but the undead brains aren't worth much. I'll trade you something else for them.
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-106.html b/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-106.html deleted file mode 100644 index 437ccf5332..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-106.html +++ /dev/null @@ -1,7 +0,0 @@ -Mysterious Wizard:
-You don't have 200 vampire hearts yet.
-I'll trade you something for the dead's brains though.
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-201.html b/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-201.html deleted file mode 100644 index b344210b38..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-201.html +++ /dev/null @@ -1,3 +0,0 @@ -Mysterious Wizard:
-One more favor. Collect 200 vampire hearts. Also, I'll trade you something for any undead brains you can scoop up. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-202.html b/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-202.html deleted file mode 100644 index fb308ee15b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-202.html +++ /dev/null @@ -1,9 +0,0 @@ -Mysterious Wizard:
-Come on, that's not enough! Can you imagine how many hearts I need to die a yard of cloth red with blood?
-Excellent material, equivalent to the red cloth of Aden, but infused with magical power.
-Please bring me more hearts.
-I'll trade you for the dead's brains anytime.
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-203.html b/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-203.html deleted file mode 100644 index 12a972b2f6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-203.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-Are you sure you have 200 vampire hearts?
-Maybe you dropped some. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-204.html b/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-204.html deleted file mode 100644 index 2e3bb6176e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/31522-204.html +++ /dev/null @@ -1,4 +0,0 @@ -Mysterious Wizard:
-That'll do.
-I have enough hearts now. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/Q00632_NecromancersRequest.java b/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/Q00632_NecromancersRequest.java deleted file mode 100644 index 924ef37cf8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00632_NecromancersRequest/Q00632_NecromancersRequest.java +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00632_NecromancersRequest; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Necromancer's Request (632) - * @author Zoey76 - */ -public final class Q00632_NecromancersRequest extends Quest -{ - // NPC - private static final int MYSTERIOUS_WIZARD = 31522; - // Items - private static final int VAMPIRES_HEART = 7542; - private static final int ZOMBIES_BRAIN = 7543; - // Misc - private static final int MIN_LEVEL = 63; - private static final int REQUIRED_ITEM_COUNT = 200; - private static final int ADENA_REWARD = 120000; - // Monsters - private static final Map BRAIN_MONSTERS = new HashMap<>(); - private static final Map HEART_MONSTERS = new HashMap<>(); - static - { - BRAIN_MONSTERS.put(21547, 0.565); // Corrupted Knight - BRAIN_MONSTERS.put(21548, 0.484); // Resurrected Knight - BRAIN_MONSTERS.put(21549, 0.585); // Corrupted Guard - BRAIN_MONSTERS.put(21550, 0.597); // Corrupted Guard - BRAIN_MONSTERS.put(21551, 0.673); // Resurrected Guard - BRAIN_MONSTERS.put(21552, 0.637); // Resurrected Guard - BRAIN_MONSTERS.put(21555, 0.575); // Slaughter Executioner - BRAIN_MONSTERS.put(21556, 0.560); // Slaughter Executioner - BRAIN_MONSTERS.put(21562, 0.631); // Guillotine's Ghost - BRAIN_MONSTERS.put(21571, 0.758); // Ghost of Rebellion Soldier - BRAIN_MONSTERS.put(21576, 0.647); // Ghost of Guillotine - BRAIN_MONSTERS.put(21577, 0.625); // Ghost of Guillotine - BRAIN_MONSTERS.put(21579, 0.766); // Ghost of Rebellion Leader - - HEART_MONSTERS.put(21568, 0.452); // Devil Bat - HEART_MONSTERS.put(21569, 0.484); // Devil Bat - HEART_MONSTERS.put(21573, 0.499); // Atrox - HEART_MONSTERS.put(21582, 0.522); // Vampire Soldier - HEART_MONSTERS.put(21585, 0.413); // Vampire Magician - HEART_MONSTERS.put(21586, 0.496); // Vampire Adept - HEART_MONSTERS.put(21587, 0.519); // Vampire Warrior - HEART_MONSTERS.put(21588, 0.428); // Vampire Wizard - HEART_MONSTERS.put(21589, 0.439); // Vampire Wizard - HEART_MONSTERS.put(21590, 0.428); // Vampire Magister - HEART_MONSTERS.put(21591, 0.502); // Vampire Magister - HEART_MONSTERS.put(21592, 0.370); // Vampire Magister - HEART_MONSTERS.put(21593, 0.592); // Vampire Warlord - HEART_MONSTERS.put(21594, 0.554); // Vampire Warlord - HEART_MONSTERS.put(21595, 0.392); // Vampire Warlord - } - - public Q00632_NecromancersRequest() - { - super(632, Q00632_NecromancersRequest.class.getSimpleName(), "Necromancer's Request"); - addStartNpc(MYSTERIOUS_WIZARD); - addTalkId(MYSTERIOUS_WIZARD); - addKillId(BRAIN_MONSTERS.keySet()); - addKillId(HEART_MONSTERS.keySet()); - registerQuestItems(VAMPIRES_HEART, ZOMBIES_BRAIN); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "31522-104.htm": - { - if (player.getLevel() >= MIN_LEVEL) - { - qs.startQuest(); - qs.setMemoState(11); - htmltext = event; - } - break; - } - case "31522-201.html": - { - htmltext = event; - break; - } - case "31522-202.html": - { - if (getQuestItemsCount(player, VAMPIRES_HEART) >= REQUIRED_ITEM_COUNT) - { - takeItems(player, VAMPIRES_HEART, -1); - giveAdena(player, ADENA_REWARD, true); - qs.setMemoState(11); - htmltext = event; - } - else - { - htmltext = "31522-203.html"; - } - break; - } - case "31522-204.html": - { - takeItems(player, VAMPIRES_HEART, -1); - qs.exitQuest(true, true); - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(player, -1, 3, npc); - if (qs != null) - { - if (BRAIN_MONSTERS.containsKey(npc.getId())) - { - qs.giveItemRandomly(npc, ZOMBIES_BRAIN, 1, 0, BRAIN_MONSTERS.get(npc.getId()), true); - } - else - { - qs.giveItemRandomly(npc, VAMPIRES_HEART, 1, 0, HEART_MONSTERS.get(npc.getId()), true); - - if (getQuestItemsCount(player, VAMPIRES_HEART) >= REQUIRED_ITEM_COUNT) - { - qs.setCond(2); - qs.setMemoState(12); - } - } - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs == null) - { - return htmltext; - } - - if (qs.isCreated()) - { - htmltext = player.getLevel() >= MIN_LEVEL ? "31522-101.htm" : "31522-103.htm"; - } - else if (qs.isStarted()) - { - if (qs.isMemoState(11)) - { - htmltext = "31522-106.html"; - } - else if (qs.isMemoState(12) && (getQuestItemsCount(player, VAMPIRES_HEART) >= REQUIRED_ITEM_COUNT)) - { - htmltext = "31522-105.html"; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-01.htm b/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-01.htm deleted file mode 100644 index fee83a00c0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Mina:
-Surely you've seen the undead lurking about the village? They've been around as long as anyone around here can remember! Recently, we've been plagued by dark magi, and as you can imagine, it's been very chaotic!
-Things are so topsy-turvy, I doubt that the trees will even bear fruit this season!
-We need a strong, helping hand! Would you help our village?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-02.htm b/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-02.htm deleted file mode 100644 index d5942a0db0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Mina:
-Thank you, but I seriously doubt that you could defeat the dark magi! We've been used to dealing with monsters, but these dark bastards are something else!
-They would kill you! Why don't you come back when you're older.
-(Only a character of level 65 or above can undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-03.htm b/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-03.htm deleted file mode 100644 index 813ec6a5ff..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Mina:
-Thanks for helping us! Basically, we need two things done.
-First and most important, wipe out the dark magi! They are our biggest threat! Defeat them and you'll be well-rewarded! Please slay at least 200 of them!
-Also, I would ask that you please exterminate the undead that are wandering around here during the day. We've been plagued by those filthy wretches for far too long! When you destroy them, you'll find their rotting livers remain. I'll reward you for each one you bring to me!
-Bring as many as you want, any time that you want! But remember, I ask that you kill at least 200 black magi before you return to me. Got it? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-04.html b/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-04.html deleted file mode 100644 index a38001f0d9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-04.html +++ /dev/null @@ -1,7 +0,0 @@ -Mina:
-Oh, you're back! And you have brought proof of killing 200 Black Mages, yes?
-Very good, very good indeed! As I promised, you'll be well rewarded for your troubles. But, ah... well, as you can plainly see, our little village simply doesn't have the resources to cover your expenses on our own -- perhaps it slipped my mind to mention it, but it's actually the responsibility of our lord to give out rewards for hunting the undead...
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-05.html b/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-05.html deleted file mode 100644 index 3673735995..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-05.html +++ /dev/null @@ -1,7 +0,0 @@ -Mina:
-Hmm, how may I help you? Have you brought proof of killing 200 Black Mages?
-No? Any nasty undead livers? You'll be paid for those, but not much!
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-06.html b/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-06.html deleted file mode 100644 index cf2ba4d8e8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Mina:
-Please, hunt black magi and bring back 200 proofs of their deaths! And don't forget the undead livers, our lord is paying for those, as well!
-Now, take your leave! Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-07.html b/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-07.html deleted file mode 100644 index 0bb5713c11..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-07.html +++ /dev/null @@ -1,7 +0,0 @@ -Mina:
-Here is your reward! I know it's not much, but it's all we can afford!
-Let me know if you want to hunt more Black Mages! And don't forget, we love those undead livers! Our lord's rewards are ample, don't you think?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-08.html b/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-08.html deleted file mode 100644 index 8d7b010732..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Mina:
-Oh, did you kill 200 black magi? Hmm, that's strange! There aren't enough proofs here!? Do you think you might have dropped some of them on your way here? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-09.html b/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-09.html deleted file mode 100644 index 6720adbd6a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/31388-09.html +++ /dev/null @@ -1,4 +0,0 @@ -Mina:
-You want to quit? Well, I won't stop you! Thank you for what you've done!
-Have a great trip! All you'll see is corpses, though... Ha! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/Q00633_InTheForgottenVillage.java b/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/Q00633_InTheForgottenVillage.java deleted file mode 100644 index 74a0e12451..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00633_InTheForgottenVillage/Q00633_InTheForgottenVillage.java +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00633_InTheForgottenVillage; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemChanceHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * In The Forgotten Village (633) - * @author netvirus - */ -public final class Q00633_InTheForgottenVillage extends Quest -{ - // NPC - private static final int MINA = 31388; - // Items - private static final int RIB_BONE_OF_A_BLACK_MAGUS = 7544; - private static final int ZOMBIES_LIVER = 7545; - // Misc - private static final int MIN_LVL = 65; - private static final int RIB_BONE_REQUIRED_COUNT = 200; - // Mobs - private static final Map MOBS_DROP_CHANCES = new HashMap<>(); - static - { - MOBS_DROP_CHANCES.put(21553, new ItemChanceHolder(ZOMBIES_LIVER, 0.417)); // Trampled Man - MOBS_DROP_CHANCES.put(21554, new ItemChanceHolder(ZOMBIES_LIVER, 0.417)); // Trampled Man - MOBS_DROP_CHANCES.put(21557, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.394)); // Bone Snatcher - MOBS_DROP_CHANCES.put(21558, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.394)); // Bone Snatcher - MOBS_DROP_CHANCES.put(21559, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.436)); // Bone Maker - MOBS_DROP_CHANCES.put(21560, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.430)); // Bone Shaper - MOBS_DROP_CHANCES.put(21561, new ItemChanceHolder(ZOMBIES_LIVER, 0.538)); // Sacrificed Man - MOBS_DROP_CHANCES.put(21563, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.436)); // Bone Collector - MOBS_DROP_CHANCES.put(21564, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.414)); // Skull Collector - MOBS_DROP_CHANCES.put(21565, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.420)); // Bone Animator - MOBS_DROP_CHANCES.put(21566, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.460)); // Skull Animator - MOBS_DROP_CHANCES.put(21567, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.549)); // Bone Slayer - MOBS_DROP_CHANCES.put(21570, new ItemChanceHolder(ZOMBIES_LIVER, 0.508)); // Ghost of Betrayer - MOBS_DROP_CHANCES.put(21572, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.465)); // Bone Sweeper - MOBS_DROP_CHANCES.put(21574, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.586)); // Bone Grinder - MOBS_DROP_CHANCES.put(21575, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.329)); // Bone Grinder - MOBS_DROP_CHANCES.put(21578, new ItemChanceHolder(ZOMBIES_LIVER, 0.649)); // Behemoth Zombie - MOBS_DROP_CHANCES.put(21580, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.462)); // Bone Caster - MOBS_DROP_CHANCES.put(21581, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.505)); // Bone Puppeteer - MOBS_DROP_CHANCES.put(21583, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.475)); // Bone Scavenger - MOBS_DROP_CHANCES.put(21584, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.475)); // Bone Scavenger - MOBS_DROP_CHANCES.put(21596, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.543)); // Requiem Lord - MOBS_DROP_CHANCES.put(21597, new ItemChanceHolder(ZOMBIES_LIVER, 0.510)); // Requiem Behemoth - MOBS_DROP_CHANCES.put(21598, new ItemChanceHolder(ZOMBIES_LIVER, 0.572)); // Requiem Behemoth - MOBS_DROP_CHANCES.put(21599, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.580)); // Requiem Priest - MOBS_DROP_CHANCES.put(21600, new ItemChanceHolder(ZOMBIES_LIVER, 0.561)); // Requiem Behemoth - MOBS_DROP_CHANCES.put(21601, new ItemChanceHolder(RIB_BONE_OF_A_BLACK_MAGUS, 0.677)); // Requiem Behemoth - } - - public Q00633_InTheForgottenVillage() - { - super(633, Q00633_InTheForgottenVillage.class.getSimpleName(), "In The Forgotten Village"); - addStartNpc(MINA); - addTalkId(MINA); - addKillId(MOBS_DROP_CHANCES.keySet()); - registerQuestItems(RIB_BONE_OF_A_BLACK_MAGUS, ZOMBIES_LIVER); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - String htmltext = null; - if (qs == null) - { - return htmltext; - } - - switch (event) - { - case "31388-03.htm": - { - if (qs.isCreated()) - { - qs.startQuest(); - htmltext = event; - } - break; - } - case "31388-04.html": - case "31388-05.html": - case "31388-06.html": - { - if (qs.isStarted()) - { - htmltext = event; - } - break; - } - case "31388-07.html": - { - if (qs.isCond(2)) - { - if (getQuestItemsCount(player, RIB_BONE_OF_A_BLACK_MAGUS) >= RIB_BONE_REQUIRED_COUNT) - { - giveAdena(player, 25000, true); - addExpAndSp(player, 305235, 0); - takeItems(player, RIB_BONE_OF_A_BLACK_MAGUS, -1); - qs.setCond(1, true); - htmltext = event; - } - else - { - htmltext = "31388-08.html"; - } - } - break; - } - case "31388-09.html": - { - if (qs.isStarted()) - { - qs.exitQuest(true, true); - htmltext = event; - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc); - if (qs != null) - { - final ItemChanceHolder info = MOBS_DROP_CHANCES.get(npc.getId()); - switch (info.getId()) - { - case RIB_BONE_OF_A_BLACK_MAGUS: - { - if (qs.isCond(1) && giveItemRandomly(qs.getPlayer(), npc, RIB_BONE_OF_A_BLACK_MAGUS, 1, RIB_BONE_REQUIRED_COUNT, info.getChance(), true)) - { - qs.setCond(2); - } - break; - } - case ZOMBIES_LIVER: - { - giveItemRandomly(qs.getPlayer(), npc, ZOMBIES_LIVER, 1, 0, info.getChance(), true); - break; - } - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs == null) - { - return htmltext; - } - - if (qs.isCreated()) - { - htmltext = ((player.getLevel() >= MIN_LVL) ? "31388-01.htm" : "31388-02.htm"); - } - else if (qs.isStarted()) - { - htmltext = ((getQuestItemsCount(player, RIB_BONE_OF_A_BLACK_MAGUS) >= RIB_BONE_REQUIRED_COUNT) ? "31388-04.html" : "31388-05.html"); - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-01.htm b/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-01.htm deleted file mode 100644 index 44b229391f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Dimensional Gate Keeper:
-Surely you've heard all about the Dimensional Fragment. Let me ask you a simple question: Will you obtain the Dimensional Fragment and fight alongside us?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-02.htm b/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-02.htm deleted file mode 100644 index 7b860d0dda..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Dimensional Gate Keeper:
-Your passion and conviction are apparent. The Contract between us is official!
-This Contract will help you to recognize the Dimensional Fragment. You're bound to experience numerous setbacks and obstacles in the future. I trust that your wisdom and courage will see you safely through your quest.
-You'll find the Dimensional Fragment very useful in the Dimensional Gap zone. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-03.htm b/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-03.htm deleted file mode 100644 index 5d5e7d65f2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Dimensional Gate Keeper:
-Sorry, but you're not ready to fight alongside us yet. Your enthusiasm is great, but your skills are lacking. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-04.html b/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-04.html deleted file mode 100644 index 721d58c528..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-04.html +++ /dev/null @@ -1,7 +0,0 @@ -Dimensional Gate Keeper:
-Have you found any dimension fragments? The more fragments you find, the longer you'll be allowed to stay in the Dimensional Gap. Dimension fragments are watched over by the guardians of ancient magic.
- If you begin to feel overwhelmed by your mission and want to take a break, just let me know! You always have that option!
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-05.html b/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-05.html deleted file mode 100644 index e3e9a47397..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Dimensional Gate Keeper:
-The guardians of ancient magic are undead and demons summoned by ancient shamans. They worship the goddess of death to protect their sacred area from the crusaders of light.
-They're known as lookouts, watchers, guards, monks, prefects, seers, archons, inquisitors, guardians, sages, royal guards, and preachers. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-06.html b/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-06.html deleted file mode 100644 index 0443bbe822..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Dimensional Gate Keeper:
-It's very gratifying to see such burning ambition and passion! You're a natural! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-07.html b/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-07.html deleted file mode 100644 index 42ccee9b78..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/31494-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Dimensional Gate Keeper:
-Your burning passion has been a great help, and now others are starting to follow your excellent example! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/Q00634_InSearchOfFragmentsOfDimension.java b/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/Q00634_InSearchOfFragmentsOfDimension.java deleted file mode 100644 index 2550c5c941..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00634_InSearchOfFragmentsOfDimension/Q00634_InSearchOfFragmentsOfDimension.java +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00634_InSearchOfFragmentsOfDimension; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * In Search of Fragments of Dimension (634) - * @author Adry_85 - */ -public final class Q00634_InSearchOfFragmentsOfDimension extends Quest -{ - // NPCs - private static final int[] DIMENSIONAL_GATE_KEEPER = - { - 31494, - 31495, - 31496, - 31497, - 31498, - 31499, - 31500, - 31501, - 31502, - 31503, - 31504, - 31505, - 31506, - 31507 - }; - - // Item - private static final int DIMENSIONAL_FRAGMENT = 7079; - // Misc - private static final int MIN_LEVEL = 20; - // Monsters - private static final int[] MOBS = - { - 21208, // Hallowed Watchman - 21209, // Hallowed Seer - 21210, // Vault Guardian - 21211, // Vault Seer - 21212, // Hallowed Sentinel - 21213, // Hallowed Monk - 21214, // Vault Sentinel - 21215, // Vault Monk - 21216, // Overlord of the Holy Lands - 21217, // Hallowed Priest - 21218, // Vault Overlord - 21219, // Vault Priest - 21220, // Sepulcher Archon - 21221, // Sepulcher Inquisitor - 21222, // Sepulcher Archon - 21223, // Sepulcher Inquisitor - 21224, // Sepulcher Guardian - 21225, // Sepulcher Sage - 21226, // Sepulcher Guardian - 21227, // Sepulcher Sage - 21228, // Sepulcher Guard - 21229, // Sepulcher Preacher - 21230, // Sepulcher Guard - 21231, // Sepulcher Preacher - 21232, // Barrow Guardian - 21233, // Barrow Seer - 21234, // Grave Guardian - 21235, // Grave Seer - 21236, // Barrow Sentinel - 21237, // Barrow Monk - 21238, // Grave Sentinel - 21239, // Grave Monk - 21240, // Barrow Overlord - 21241, // Barrow Priest - 21242, // Grave Overlord - 21243, // Grave Priest - 21244, // Crypt Archon - 21245, // Crypt Inquisitor - 21246, // Tomb Archon - 21247, // Tomb Inquisitor - 21248, // Crypt Guardian - 21249, // Crypt Sage - 21250, // Tomb Guardian - 21251, // Tomb Sage - 21252, // Crypt Guard - 21253, // Crypt Preacher - 21254, // Tomb Guard - 21255, // Tomb Preacher - 21256, // Underground Werewolf - }; - - public Q00634_InSearchOfFragmentsOfDimension() - { - super(634, Q00634_InSearchOfFragmentsOfDimension.class.getSimpleName(), "In Search of Fragments of Dimension"); - addStartNpc(DIMENSIONAL_GATE_KEEPER); - addTalkId(DIMENSIONAL_GATE_KEEPER); - addKillId(MOBS); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "31494-02.htm": - { - qs.startQuest(); - htmltext = event; - break; - } - case "31494-05.html": - case "31494-06.html": - { - if (qs.isStarted()) - { - htmltext = event; - } - break; - } - case "31494-07.html": - { - if (qs.isStarted()) - { - qs.exitQuest(true, true); - htmltext = event; - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(player, -1, 3, npc); - if (qs != null) - { - final int i0 = (int) ((0.15 * npc.getLevel()) + 1.6); - if (getRandom(100) < 10) - { - giveItemRandomly(qs.getPlayer(), npc, DIMENSIONAL_FRAGMENT, i0, 0, 1.0, true); - } - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs.isCreated()) - { - htmltext = (player.getLevel() >= MIN_LEVEL) ? "31494-01.htm" : "31494-03.htm"; - } - else if (qs.isStarted()) - { - htmltext = "31494-04.html"; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-01.htm b/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-01.htm deleted file mode 100644 index e6e73ff39d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Priest Eliyah:
-Have you ever seen the Pagan Temple? You've heard the name, anyway, right? It's more like a Clan Hall for Pagans than any temple I've ever seen! Those Pagans, always lurking about like black curtains, secretly pulling the strings that control Rune Castle.
-No one's really sure what they do in there, since they never let the townspeople inside... I'm sure they're keeping some ghastly secret! Although their security is very tight, there just might be a way in...
-(Quest for characters level 73 and above) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-02.htm b/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-02.htm deleted file mode 100644 index d1c60a5cd0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Priest Eliyah:
-Have you ever seen the Pagan Temple? You've heard the name, anyway, right? It's more like a Clan Hall for Pagans than any temple I've ever seen! Those Pagans, always lurking about like black curtains, secretly pulling the strings that control Rune Castle.
-No one's really sure what they do in there, since they never let the townspeople inside... I'm sure they're keeping some ghastly secret! Although their security is very tight, there just might be a way in...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-03.htm b/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-03.htm deleted file mode 100644 index b694ebfdc1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Priest Eliyah:
-Those heathens occasionally even perform Human sacrifices in their so-called Temple! They seem to enjoy that part of their religion more than any other... And that, my child, is your way into the Temple! You'll be their human sacrifice! Of course, I realize that this is a very dangerous way to get in, but these are desperate times... And besides, they've been having a hard time finding Humans to sacrifice!
-Now, let's talk about how you're going to do this... Before I get started, are you sure you want to do this?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-04.htm b/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-04.htm deleted file mode 100644 index 901b5d5b1e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-04.htm +++ /dev/null @@ -1,5 +0,0 @@ -Priest Eliyah:
-Very well then! Well, I'll get started... Please pay attention! I don't want to have to repeat myself!
-Priest Flauron in Rune Township is in charge of finding Human sacrifices for them. Go speak with him and tell him that you're thinking about becoming a Pagan... He'll offer to let you visit the Temple, and will give you what he'll claim is an entrance pass. It's actually a Sacrifice Mark! It will get you inside the Temple easily enough, but once you're inside those lunatics will set upon you at once with spears and knives! There's no way that you could stand against this onslaught alone...
-Many people have been decieved by Flauron and ended up as live sacrifices. You should probably take some trusted comrades with you, but I heard that the Pagans have a strange technique for scattering the forces of outsiders. Be very careful! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-05.htm b/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-05.htm deleted file mode 100644 index 8683057b5e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-05.htm +++ /dev/null @@ -1,5 +0,0 @@ -Priest Eliyah:
-Dind't I say I don't want to repeat myself?
-Priest Flauron in Rune Township is in charge of finding Human sacrifices for them. Go speak with him and tell him that you're thinking about becoming a Pagan... He'll offer to let you visit the Temple, and will give you what he'll claim is an entrance pass. It's actually a Sacrifice Mark! It will get you inside the Temple easily enough, but once you're inside those lunatics will set upon you at once with spears and knives! There's no way that you could stand against this onslaught alone...
-Many people have been decieved by Flauron and ended up as live sacrifices. You should probably take some trusted comrades with you, but I heard that the Pagans have a strange technique for scattering the forces of outsiders. Be very careful! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-mark.htm b/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-mark.htm deleted file mode 100644 index 7d3d7339a5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/31329-mark.htm +++ /dev/null @@ -1,3 +0,0 @@ -Priest Eliyah:
-You're already capable of entering the Pagan Temple. You don't need to hear this. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/32010-01.htm b/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/32010-01.htm deleted file mode 100644 index 353a2de00b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/32010-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Priest Flauron:
-Who comes calling? Oh, you can't want to go down this pathway. Yes, it leads to our temple, but it's awfully dangerous if you're not authorized. Unwelcome visitors often disappear down that path, never to been seen again. Unwise, tragically unwise!
-I see no authorization documents on you, so no, you cannot pass there safely. Although we sometimes receive visitors ... that would be authorized, I suppose, under certain circumstances.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/32010-02.htm b/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/32010-02.htm deleted file mode 100644 index b0fe2fb60a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/32010-02.htm +++ /dev/null @@ -1,7 +0,0 @@ -Priest Flauron:
-As it so happens, you are in luck! Today is Visitor's Day. Excuse me...
-(He mutters to the side)
-Yes, I have just received word from higher up that we need more, so I'm telling them that it's Visitor's Day.
-(He turns back to you)
-How fortunate you are! On Visitor's Day we lavish splendor on our lucky guests; generosity is our watchword. What? Oh, I was just talking to myself, hahaha! Now, here is the Visitor's Mark we give to visitors. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/32010-03.htm b/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/32010-03.htm deleted file mode 100644 index 125229c06b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/32010-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Priest Flauron:
-Oh dear, what are you still doing here?
-Remember you are in luck! Today is Visitor's Day and you don't want to miss a thing, do you?
-This way please.. join the rest of our.. visitors. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/Q00636_TruthBeyond.java b/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/Q00636_TruthBeyond.java deleted file mode 100644 index 20960dad16..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00636_TruthBeyond/Q00636_TruthBeyond.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00636_TruthBeyond; - -import com.l2jserver.gameserver.model.actor.L2Character; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.model.zone.L2ZoneType; - -/** - * The Truth Beyond the Gate (636)
- * Original Jython script by Polo, BiTi and DrLecter. - * @author DS - */ -public final class Q00636_TruthBeyond extends Quest -{ - private static final int ELIYAH = 31329; - private static final int FLAURON = 32010; - private static final int ZONE = 30100; - private static final int VISITOR_MARK = 8064; - private static final int FADED_MARK = 8065; - private static final int MARK = 8067; - - public Q00636_TruthBeyond() - { - super(636, Q00636_TruthBeyond.class.getSimpleName(), "The Truth Beyond the Gate"); - addStartNpc(ELIYAH); - addTalkId(ELIYAH, FLAURON); - addEnterZoneId(ZONE); - } - - @Override - public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - if ("31329-04.htm".equals(event)) - { - st.startQuest(); - } - else if ("32010-02.htm".equals(event)) - { - st.giveItems(VISITOR_MARK, 1); - st.exitQuest(true, true); - } - return event; - } - - @Override - public final String onEnterZone(L2Character character, L2ZoneType zone) - { - // QuestState already null on enter because quest is finished - if (character.isPlayer()) - { - if (character.getActingPlayer().destroyItemByItemId("Mark", VISITOR_MARK, 1, character, false)) - { - character.getActingPlayer().addItem("Mark", FADED_MARK, 1, character, true); - } - } - return null; - } - - @Override - public final String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - if (st == null) - { - return getNoQuestMsg(player); - } - - if (npc.getId() == ELIYAH) - { - if (st.hasQuestItems(VISITOR_MARK) || st.hasQuestItems(FADED_MARK) || st.hasQuestItems(MARK)) - { - st.exitQuest(true); - return "31329-mark.htm"; - } - if (st.getState() == State.CREATED) - { - if (player.getLevel() > 72) - { - return "31329-02.htm"; - } - - st.exitQuest(true); - return "31329-01.htm"; - } - else if (st.getState() == State.STARTED) - { - return "31329-05.htm"; - } - } - else if (st.getState() == State.STARTED) // Flauron only - { - if (st.isCond(1)) - { - return "32010-01.htm"; - } - st.exitQuest(true); - return "32010-03.htm"; - } - return getNoQuestMsg(player); - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-0.htm b/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-0.htm deleted file mode 100644 index b041c1cf02..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-0.htm +++ /dev/null @@ -1,5 +0,0 @@ -Priest Flauron:
-You already have the Mark of the Pagan, so you don't need to hear this story again.
-Oh, by the way, a little remind for you: Although you realized your own frailty and brought your combined might can do anything to stop us. Lord Triol was quite aware of the danger a party of adventurers might present, so he cast a spell that will scatter an invading party to the winds. So don't waste your time fighting us - you'll never prevail.
-(If a party of six or more fight inside the Pagan Temple, there is a chance that some of the party members will be teleported elsewhere.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-01.htm b/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-01.htm deleted file mode 100644 index 221a771d7b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Priest Flauron:
-I'm too busy to help you. Sorry!
-(Only characters level 73 and above who possess a Faded Visitor's Mark are permitted to take on the quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-01a.htm b/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-01a.htm deleted file mode 100644 index a48df6a280..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-01a.htm +++ /dev/null @@ -1,4 +0,0 @@ -Priest Flauron:
-You should go on to the temple; I'm too busy to see you just now.
-(Only characters level 73 and above are permitted to take on the quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-02.htm b/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-02.htm deleted file mode 100644 index 10bdf4d127..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Priest Flauron:
-Eh? Oh, my, it's you! I, uh, I didn't expect to see you again. Not alive, at any rate.
-Well, er, let us rejoice in your good fortune! Surely your relief at your survival will allow you to laugh at any harmless incidents in the past! Eheheh.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-03.htm b/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-03.htm deleted file mode 100644 index 94e2db8541..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Priest Flauron:
-A wise decision! Now, here's what I want: go to the Forest of the Dead and defeat the Bone Animator, the Bone Slayer and the Skull Animator. Bring me 10 Necromancer Hearts. Do that, and I'll give you the real sign - the occult sign that will allow you to enter the chapel of the Temple. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-04.htm b/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-04.htm deleted file mode 100644 index 2e0a32a474..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -Priest Flauron:
-We have a deal, then. Now go to the Forest of the Dead and defeat the Bone Animator, the Bone Slayer, and the Skull Animator. Bring me ten Necromancer Hearts, and I will give you the Pagan's Mark that will allow you to enter the chapel of the Temple. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-05.htm b/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-05.htm deleted file mode 100644 index dec4c71535..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-05.htm +++ /dev/null @@ -1,8 +0,0 @@ -Priest Flauron:
-Ha! Excellent! Quickly, give it to me, before someone sees us! What am I going to use it for, you ask? Heh. Ask me no questions, and I'll tell you no lies!
-Well, you've done your part, and I'll do mine. Here, let me give you the Pagan's Mark. There! You will no longer need the Visitor's Mark; This one will work better, and will admit you to the chapel - that, and the key to the Anteroom, which I now give you.
-What's inside the chapel? Now, that would be telling.
-What are we doing there? Ha ha! Don't bother asking me such questions. Go find out for yourself! Stop us if you can!
-Your numbers won't help you as much as you think. It is good that you recognize your weakness and that you bring your comrades with you, but it won't help you. Lord Triol long ago realized the danger of attack by a well-coordinated band of adventurers, and cast a spell that will scatter groups of outsiders to the four winds.
-Be sensible, then. Surely you realize the futility of fighting us. The fact that I just gave you a free pass into the chapel should tell you something: We are not afraid of you. Think about that. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-06.htm b/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-06.htm deleted file mode 100644 index 1900c7eda9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-06.htm +++ /dev/null @@ -1,6 +0,0 @@ -Priest Flauron:
-Hey, hey! Settle down! We can discuss this, can't we? It was merely a harmless prank, and I'm sure you appreciate the humor - hey, that hurts!
-The truth? Very well. I can see I have no choice; your grim faces suggest no love of my jest. Visitor's Day is a lie. We use that as a ruse to attract live sacrifices.
-A little embarrassing to be found out like this, really. But what's important is that you made it out. To be honest, it's been a long time since I've seen anyone escape the temple. You must be very powerful adventurers. I could use a favor...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-07.htm b/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-07.htm deleted file mode 100644 index e857bde494..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-07.htm +++ /dev/null @@ -1,4 +0,0 @@ -Priest Flauron:
-Why betray my order? Well, for one thing, I don't think you'll pose any real threat to the order, even if you do get into the temple. We aren't weaklings, you know. In any case, our order teaches self-interest, and this deal serves my interest. You get into the chapel, I get what I want. What do you say?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-08.htm b/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-08.htm deleted file mode 100644 index c4a8da0228..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-08.htm +++ /dev/null @@ -1,6 +0,0 @@ -Priest Flauron:
-Ha, you emerged alive! My felicitations. And even better, you came back to speak with me! So, all water under the bridge, then, eh?
-Yes, Visitor's Day is a lie. We use it to attract live sacrifices, frankly.
-Anyway, it's been a long time since I've seen anyone return from there alive. I'm interested in you; I think you're capable of doing me a particular favor.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-09.htm b/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-09.htm deleted file mode 100644 index 24359e417c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-09.htm +++ /dev/null @@ -1,6 +0,0 @@ -Priest Flauron:
-Oh, that. Disregard that; it was a minor matter. You have survived and gained by your experiences, surely. How can that be bad? Keep your thoughts on the future, that is my motto!
-Look, let's deal. I'm not going to try any more tricks. I know better now. If I'd known you for what you were, I'd never have tried it in the first place. But I have a job that needs doing, and I can offer you a real benefit in exchange: the mark that lets you go all the way into the chapel of the temple. I think that's where you want to go, am I right?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-10.htm b/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-10.htm deleted file mode 100644 index 2981f14a7d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/32010-10.htm +++ /dev/null @@ -1,3 +0,0 @@ -Priest Flauron:
-Oh, really? What a pity. Please feel free to return any time! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java b/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java deleted file mode 100644 index 23d235729f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00637_ThroughOnceMore; - -import com.l2jserver.Config; -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Through the Gate Once More (637)
- * Original Jython script by BiTi! and DrLecter. - * @author DS - */ -public final class Q00637_ThroughOnceMore extends Quest -{ - private static final int FLAURON = 32010; - private static final int[] MOBS = - { - 21565, - 21566, - 21567 - }; - private static final int VISITOR_MARK = 8064; - private static final int FADED_MARK = 8065; - private static final int NECRO_HEART = 8066; - private static final int MARK = 8067; - - private static final double DROP_CHANCE = 90; - - public Q00637_ThroughOnceMore() - { - super(637, Q00637_ThroughOnceMore.class.getSimpleName(), "Through the Gate Once More"); - addStartNpc(FLAURON); - addTalkId(FLAURON); - addKillId(MOBS); - registerQuestItems(NECRO_HEART); - } - - @Override - public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - if ("32010-03.htm".equals(event)) - { - st.startQuest(); - } - else if ("32010-10.htm".equals(event)) - { - st.exitQuest(true); - } - return event; - } - - @Override - public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - if ((st != null) && (st.getState() == State.STARTED)) - { - final long count = st.getQuestItemsCount(NECRO_HEART); - if (count < 10) - { - int chance = (int) (Config.RATE_QUEST_DROP * DROP_CHANCE); - int numItems = chance / 100; - chance = chance % 100; - if (getRandom(100) < chance) - { - numItems++; - } - if (numItems > 0) - { - if ((count + numItems) >= 10) - { - numItems = 10 - (int) count; - st.setCond(2, true); - } - else - { - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - - st.giveItems(NECRO_HEART, numItems); - } - } - } - return null; - } - - @Override - public final String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - if (st == null) - { - return getNoQuestMsg(player); - } - - final byte id = st.getState(); - if (id == State.CREATED) - { - if (player.getLevel() > 72) - { - if (st.hasQuestItems(FADED_MARK)) - { - return "32010-02.htm"; - } - if (st.hasQuestItems(VISITOR_MARK)) - { - st.exitQuest(true); - return "32010-01a.htm"; - } - if (st.hasQuestItems(MARK)) - { - st.exitQuest(true); - return "32010-0.htm"; - } - } - st.exitQuest(true); - return "32010-01.htm"; - } - else if (id == State.STARTED) - { - if ((st.isCond(2)) && (st.getQuestItemsCount(NECRO_HEART) == 10)) - { - st.takeItems(NECRO_HEART, 10); - st.takeItems(FADED_MARK, 1); - st.giveItems(MARK, 1); - st.giveItems(8273, 10); - st.exitQuest(true, true); - return "32010-05.htm"; - } - return "32010-04.htm"; - } - return getNoQuestMsg(player); - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-01.htm b/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-01.htm deleted file mode 100644 index 20e73b1571..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -High Priest Innocentin:
-Recent activities at the Pagan Temple have raised my concerns. Considering the shenanigans that normally go on there, you must surely understand the peril!
-You see, they've set their sights on Saint Solina's Grail of Splendor! I'm sure that if we don't stop them, something terrible and irrevocable will happen! Will you help us in our time of need?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-02.htm b/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-02.htm deleted file mode 100644 index c455112f57..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -High Priest Innocentin:
-Recent activities at the Pagan Temple have raised my concerns. Considering the shenanigans that normally go on there, you must surely understand the peril!
-Would you consider coming back to help me when you've had more experience?
-(This quest may only be undertaken by characters of level 73 or above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-03.htm b/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-03.htm deleted file mode 100644 index a7defbb020..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -High Priest Innocentin:
-Splendid! Please go to the Pagan Temple and defeat the evil ones that inhabit it! After you've destroyed them, bring me their Pagan Totems. You'll be well-rewarded if you bring more than 2000 of them! Of course, our definitions of large rewards might differ...
-As you must have guessed, the Pagan Temple is heavily defended and will not be easily overtaken. Priest Eliyah could give you guidance on how to penetrate their defenses. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-04.html b/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-04.html deleted file mode 100644 index 00134c453a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-04.html +++ /dev/null @@ -1,6 +0,0 @@ -High Priest Innocentin:
-Did they put up much of a fight? Well, your efforts have saved the grail! And I see you brought some Pagan Totems!
-Are you ready for your reward?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-05.html b/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-05.html deleted file mode 100644 index db0d6dd278..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-05.html +++ /dev/null @@ -1,6 +0,0 @@ -High Priest Innocentin:
-Please go to the Pagan Temple and defeat the evil ones that inhabit it! After you've destroyed them, bring me their Pagan Totems. You'll be well-rewarded if you bring more than 2000 of them! Of course, our definitions of large rewards might differ...
-As you must have guessed, the Pagan Temple is heavily defended and will not be easily overtaken. Priest Eliyah could give you guidance on how to penetrate their defenses.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-06.html b/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-06.html deleted file mode 100644 index 55a5b25e63..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-06.html +++ /dev/null @@ -1,3 +0,0 @@ -High Priest Innocentin:
-Thank you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-07.html b/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-07.html deleted file mode 100644 index a2b32aaa09..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-07.html +++ /dev/null @@ -1,3 +0,0 @@ -High Priest Innocentin:
-Thank you! Let's see... What's this? The Totem of a high-ranking Pagan is mixed in here! Your efforts have thwarted their evil plan! Please take this as a token of my appreciation. Keep up the good work! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-08.html b/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-08.html deleted file mode 100644 index c7923933e3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-08.html +++ /dev/null @@ -1,3 +0,0 @@ -High Priest Innocentin:
-Thank you! Your efforts have definitely put a crimp in the evil plans of the Pagans! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-09.html b/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-09.html deleted file mode 100644 index 46165eee75..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/31328-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Priest Innocentin:
-Oh, I'm sorry to see you go! Your efforts have done much to thwart the evil plans of the Pagans! If you have some spare time in the future, come back and help us again! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/Q00638_SeekersOfTheHolyGrail.java b/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/Q00638_SeekersOfTheHolyGrail.java deleted file mode 100644 index b37cee86e0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00638_SeekersOfTheHolyGrail/Q00638_SeekersOfTheHolyGrail.java +++ /dev/null @@ -1,253 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00638_SeekersOfTheHolyGrail; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemChanceHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Seekers Of The Holy Grail (638) - * @author netvirus - */ -public final class Q00638_SeekersOfTheHolyGrail extends Quest -{ - private static class DropInfo extends ItemChanceHolder - { - private final int _keyId; - private final int _keyChance; - private final int _keyCount; - - public DropInfo(int itemId, double chance) - { - this(itemId, chance, 0, 0, 0); - } - - public DropInfo(int itemId, double chance, int keyId, int keyChance, int count) - { - super(itemId, chance); - _keyId = keyId; - _keyChance = keyChance; - _keyCount = count; - } - - public int getKeyId() - { - return _keyId; - } - - public int getKeyChance() - { - return _keyChance; - } - - public int getKeyCount() - { - return _keyCount; - } - } - - // NPC - private static final int INNOCENTIN = 31328; - // Items - private static final int TOTEM = 8068; - private static final int ANTEROOM_KEY = 8273; - private static final int CHAPEL_KEY = 8274; - private static final int KEY_OF_DARKNESS = 8275; - // Misc - private static final int MIN_LVL = 73; - private static final int TOTEMS_REQUIRED_COUNT = 2000; - // Rewards - private static final int SCROLL_ENCHANT_W_S = 959; - private static final int SCROLL_ENCHANT_A_S = 960; - // Mobs - private static final Map MOBS_DROP_CHANCES = new HashMap<>(); - static - { - MOBS_DROP_CHANCES.put(22136, new DropInfo(TOTEM, 0.55)); // Gatekeeper Zombie - MOBS_DROP_CHANCES.put(22137, new DropInfo(TOTEM, 0.06)); // Penance Guard - MOBS_DROP_CHANCES.put(22138, new DropInfo(TOTEM, 0.06)); // Chapel Guard - MOBS_DROP_CHANCES.put(22139, new DropInfo(TOTEM, 0.54)); // Old Aristocrat's Soldier - MOBS_DROP_CHANCES.put(22140, new DropInfo(TOTEM, 0.54)); // Zombie Worker - MOBS_DROP_CHANCES.put(22141, new DropInfo(TOTEM, 0.55)); // Forgotten Victim - MOBS_DROP_CHANCES.put(22142, new DropInfo(TOTEM, 0.54)); // Triol's Layperson - MOBS_DROP_CHANCES.put(22143, new DropInfo(TOTEM, 0.62, CHAPEL_KEY, 100, 1)); // Triol's Believer - MOBS_DROP_CHANCES.put(22144, new DropInfo(TOTEM, 0.54)); // Resurrected Temple Knight - MOBS_DROP_CHANCES.put(22145, new DropInfo(TOTEM, 0.53)); // Ritual Sacrifice - MOBS_DROP_CHANCES.put(22146, new DropInfo(TOTEM, 0.54, KEY_OF_DARKNESS, 10, 1)); // Triol's Priest - MOBS_DROP_CHANCES.put(22147, new DropInfo(TOTEM, 0.55)); // Ritual Offering - MOBS_DROP_CHANCES.put(22148, new DropInfo(TOTEM, 0.45)); // Triol's Believer - MOBS_DROP_CHANCES.put(22149, new DropInfo(TOTEM, 0.54, ANTEROOM_KEY, 100, 6)); // Ritual Offering - MOBS_DROP_CHANCES.put(22150, new DropInfo(TOTEM, 0.46)); // Triol's Believer - MOBS_DROP_CHANCES.put(22151, new DropInfo(TOTEM, 0.62, KEY_OF_DARKNESS, 10, 1)); // Triol's Priest - MOBS_DROP_CHANCES.put(22152, new DropInfo(TOTEM, 0.55)); // Temple Guard - MOBS_DROP_CHANCES.put(22153, new DropInfo(TOTEM, 0.54)); // Temple Guard Captain - MOBS_DROP_CHANCES.put(22154, new DropInfo(TOTEM, 0.53)); // Ritual Sacrifice - MOBS_DROP_CHANCES.put(22155, new DropInfo(TOTEM, 0.75)); // Triol's High Priest - MOBS_DROP_CHANCES.put(22156, new DropInfo(TOTEM, 0.67)); // Triol's Priest - MOBS_DROP_CHANCES.put(22157, new DropInfo(TOTEM, 0.66)); // Triol's Priest - MOBS_DROP_CHANCES.put(22158, new DropInfo(TOTEM, 0.67)); // Triol's Believer - MOBS_DROP_CHANCES.put(22159, new DropInfo(TOTEM, 0.75)); // Triol's High Priest - MOBS_DROP_CHANCES.put(22160, new DropInfo(TOTEM, 0.67)); // Triol's Priest - MOBS_DROP_CHANCES.put(22161, new DropInfo(TOTEM, 0.78)); // Ritual Sacrifice - MOBS_DROP_CHANCES.put(22162, new DropInfo(TOTEM, 0.67)); // Triol's Believer - MOBS_DROP_CHANCES.put(22163, new DropInfo(TOTEM, 0.87)); // Triol's High Priest - MOBS_DROP_CHANCES.put(22164, new DropInfo(TOTEM, 0.67)); // Triol's Believer - MOBS_DROP_CHANCES.put(22165, new DropInfo(TOTEM, 0.66)); // Triol's Priest - MOBS_DROP_CHANCES.put(22166, new DropInfo(TOTEM, 0.66)); // Triol's Believer - MOBS_DROP_CHANCES.put(22167, new DropInfo(TOTEM, 0.75)); // Triol's High Priest - MOBS_DROP_CHANCES.put(22168, new DropInfo(TOTEM, 0.66)); // Triol's Priest - MOBS_DROP_CHANCES.put(22169, new DropInfo(TOTEM, 0.78)); // Ritual Sacrifice - MOBS_DROP_CHANCES.put(22170, new DropInfo(TOTEM, 0.67)); // Triol's Believer - MOBS_DROP_CHANCES.put(22171, new DropInfo(TOTEM, 0.87)); // Triol's High Priest - MOBS_DROP_CHANCES.put(22172, new DropInfo(TOTEM, 0.78)); // Ritual Sacrifice - MOBS_DROP_CHANCES.put(22173, new DropInfo(TOTEM, 0.66)); // Triol's Priest - MOBS_DROP_CHANCES.put(22174, new DropInfo(TOTEM, 0.67)); // Triol's Priest - MOBS_DROP_CHANCES.put(22175, new DropInfo(TOTEM, 0.03)); // Andreas' Captain of the Royal Guard - MOBS_DROP_CHANCES.put(22176, new DropInfo(TOTEM, 0.03)); // Andreas' Royal Guards - MOBS_DROP_CHANCES.put(22188, new DropInfo(TOTEM, 0.03)); // Andreas' Captain of the Royal Guard - MOBS_DROP_CHANCES.put(22189, new DropInfo(TOTEM, 0.03)); // Andreas' Royal Guards - MOBS_DROP_CHANCES.put(22190, new DropInfo(TOTEM, 0.03)); // Ritual Sacrifice - MOBS_DROP_CHANCES.put(22191, new DropInfo(TOTEM, 0.03)); // Andreas' Captain of the Royal Guard - MOBS_DROP_CHANCES.put(22192, new DropInfo(TOTEM, 0.03)); // Andreas' Royal Guards - MOBS_DROP_CHANCES.put(22193, new DropInfo(TOTEM, 0.03)); // Andreas' Royal Guards - MOBS_DROP_CHANCES.put(22194, new DropInfo(TOTEM, 0.03)); // Penance Guard - MOBS_DROP_CHANCES.put(22194, new DropInfo(TOTEM, 0.03)); // Ritual Sacrifice - } - - public Q00638_SeekersOfTheHolyGrail() - { - super(638, Q00638_SeekersOfTheHolyGrail.class.getSimpleName(), "Seekers Of The Holy Grail"); - addStartNpc(INNOCENTIN); - addTalkId(INNOCENTIN); - addKillId(MOBS_DROP_CHANCES.keySet()); - registerQuestItems(TOTEM); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - String htmltext = null; - if (qs == null) - { - return htmltext; - } - - switch (event) - { - case "31328-03.htm": - { - if (qs.isCreated()) - { - qs.startQuest(); - htmltext = event; - } - break; - } - case "31328-06.html": - { - if (qs.isStarted()) - { - htmltext = event; - } - break; - } - case "reward": - { - if (qs.isStarted() && (getQuestItemsCount(player, TOTEM) >= TOTEMS_REQUIRED_COUNT)) - { - if (getRandom(100) < 80) - { - if (getRandomBoolean()) - { - rewardItems(player, SCROLL_ENCHANT_A_S, 1); - } - else - { - rewardItems(player, SCROLL_ENCHANT_W_S, 1); - } - htmltext = "31328-07.html"; - } - else - { - giveAdena(player, 3576000, true); - htmltext = "31328-08.html"; - } - takeItems(player, TOTEM, 2000); - } - break; - } - case "31328-09.html": - { - if (qs.isStarted()) - { - qs.exitQuest(true, true); - htmltext = "31328-09.html"; - } - } - - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc); - if (qs != null) - { - final DropInfo info = MOBS_DROP_CHANCES.get(npc.getId()); - if (giveItemRandomly(qs.getPlayer(), npc, info.getId(), 1, 0, info.getChance(), true)) - { - if ((info.getKeyId() > 0) && (getRandom(100) < info.getKeyChance())) - { - npc.dropItem(qs.getPlayer(), info.getKeyId(), info.getKeyCount()); - } - } - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs == null) - { - return htmltext; - } - - if (qs.isCreated()) - { - htmltext = ((player.getLevel() >= MIN_LVL) ? "31328-01.htm" : "31328-02.htm"); - } - else if (qs.isStarted()) - { - htmltext = ((getQuestItemsCount(player, TOTEM) >= TOTEMS_REQUIRED_COUNT) ? "31328-04.html" : "31328-05.html"); - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00639_GuardiansOfTheHolyGrail/31350-01.html b/trunk/dist/game/data/scripts/quests/Q00639_GuardiansOfTheHolyGrail/31350-01.html deleted file mode 100644 index 71a938aab4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00639_GuardiansOfTheHolyGrail/31350-01.html +++ /dev/null @@ -1,3 +0,0 @@ -Priest Dominic:
-Ahhh... that mission has been.. satisfied. It's time for a new mission. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00639_GuardiansOfTheHolyGrail/Q00639_GuardiansOfTheHolyGrail.java b/trunk/dist/game/data/scripts/quests/Q00639_GuardiansOfTheHolyGrail/Q00639_GuardiansOfTheHolyGrail.java deleted file mode 100644 index fc3df10616..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00639_GuardiansOfTheHolyGrail/Q00639_GuardiansOfTheHolyGrail.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00639_GuardiansOfTheHolyGrail; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Guardians of the Holy Grail (639)
- * NOTE: This quest is no longer available since Freya(CT2.5) - * @author corbin12 - */ -public final class Q00639_GuardiansOfTheHolyGrail extends Quest -{ - // NPC - private static final int DOMINIC = 31350; - - public Q00639_GuardiansOfTheHolyGrail() - { - super(639, Q00639_GuardiansOfTheHolyGrail.class.getSimpleName(), "Guardians of the Holy Grail"); - addStartNpc(DOMINIC); - addTalkId(DOMINIC); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - if (st != null) - { - st.exitQuest(true); - } - return "31350-01.html"; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-01.htm b/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-01.htm deleted file mode 100644 index 0257d2b878..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Karuda:
-Greetings, and welcome! We are the followers of Pa'agrio, as we are fated to be. Are you free to help us?
-This is the graveyard of a lost tribe, but grave robbers seek to plunder the burial grounds within. And thus, the spirits of the dead have become restless.
-We have decided to drive the grave robbers from this place, but we're short of capable hands and need your help. Can you help us?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-02.htm b/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-02.htm deleted file mode 100644 index eb0a9da75c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Karuda:
-Greetings, and welcome... but what has brought you to such a dangerous place?
-(Only characters above level 20 can perform this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-03.htm b/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-03.htm deleted file mode 100644 index 0350f73fa4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Karuda:
-My investigation confirms that the grave robbers plundered almost 120 graves. If you defeat them and bring back the stolen Orcish burial goods, I will give you a reward. I have heard that the grave robbers' hideout is based in the south. Best of luck to you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-04.html b/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-04.html deleted file mode 100644 index 3d5c423628..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Karuda:
-Have you recovered all of the stolen burial goods? Swift work! I think you must have had the blessings of Pa'agrio!
-Please return the burial goods to me. I will see to their proper disposition.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-05.html b/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-05.html deleted file mode 100644 index db1bf1f96f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Karuda:
-We have confirmed that grave robbers plundered almost 120 graves. If you defeat them and bring back all of the stolen Orcish burial goods, I will give you a reward. I have heard that the grave robbers' hideout is based in the south. Best of luck. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-06.html b/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-06.html deleted file mode 100644 index eef4bb46d5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-06.html +++ /dev/null @@ -1,9 +0,0 @@ -Karuda:
-Yes, I certify that these are all of the stolen items. I shall reward you for your hard work as best I can. I don't have much to give you, but I can give you your choice of:
- - - - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-07.html b/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-07.html deleted file mode 100644 index d1e21f3d3a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/32017-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Karuda:
-Here, and may Pa'agrio bless and protect you!
-Perhaps we will meet again, if it is His will. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/Q00644_GraveRobberAnnihilation.java b/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/Q00644_GraveRobberAnnihilation.java deleted file mode 100644 index d549736338..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/Q00644_GraveRobberAnnihilation.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00644_GraveRobberAnnihilation; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Grave Robber Annihilation (644) - * @author netvirus - */ -public final class Q00644_GraveRobberAnnihilation extends Quest -{ - // NPC - private static final int KARUDA = 32017; - // Item - private static final int ORC_GOODS = 8088; - // Misc - private static final int MIN_LVL = 20; - private static final int ORC_GOODS_REQUIRED_COUNT = 120; - // Monsters - private static final Map MONSTER_DROP_CHANCES = new HashMap<>(); - // Rewards - private static final Map REWARDS = new HashMap<>(); - - static - { - MONSTER_DROP_CHANCES.put(22003, 0.714); // Grave Robber Scout - MONSTER_DROP_CHANCES.put(22004, 0.841); // Grave Robber Lookout - MONSTER_DROP_CHANCES.put(22005, 0.778); // Grave Robber Ranger - MONSTER_DROP_CHANCES.put(22006, 0.746); // Grave Robber Guard - MONSTER_DROP_CHANCES.put(22008, 0.810); // Grave Robber Fighter - - REWARDS.put("varnish", new ItemHolder(1865, 30)); // Varnish - REWARDS.put("animalskin", new ItemHolder(1867, 40)); // Animal Skin - REWARDS.put("animalbone", new ItemHolder(1872, 40)); // Animal Bone - REWARDS.put("charcoal", new ItemHolder(1871, 30)); // Charcoal - REWARDS.put("coal", new ItemHolder(1870, 30)); // Coal - REWARDS.put("ironore", new ItemHolder(1869, 30)); // Iron Ore - } - - public Q00644_GraveRobberAnnihilation() - { - super(644, Q00644_GraveRobberAnnihilation.class.getSimpleName(), "Grave Robber Annihilation"); - addStartNpc(KARUDA); - addTalkId(KARUDA); - addKillId(MONSTER_DROP_CHANCES.keySet()); - registerQuestItems(ORC_GOODS); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - String htmltext = null; - if (st == null) - { - return htmltext; - } - - switch (event) - { - case "32017-03.htm": - { - if (st.isCreated()) - { - st.startQuest(); - htmltext = event; - } - break; - } - case "32017-06.html": - { - if (st.isCond(2) && (st.getQuestItemsCount(ORC_GOODS) >= ORC_GOODS_REQUIRED_COUNT)) - { - htmltext = event; - } - break; - } - case "varnish": - case "animalskin": - case "animalbone": - case "charcoal": - case "coal": - case "ironore": - { - if (st.isCond(2)) - { - final ItemHolder reward = REWARDS.get(event); - st.rewardItems(reward.getId(), reward.getCount()); - st.exitQuest(true, true); - htmltext = "32017-07.html"; - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(killer, 1, 3, npc); - if ((qs != null) && qs.giveItemRandomly(npc, ORC_GOODS, 1, ORC_GOODS_REQUIRED_COUNT, MONSTER_DROP_CHANCES.get(npc.getId()), true)) - { - qs.setCond(2, true); - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - { - htmltext = ((player.getLevel() >= MIN_LVL) ? "32017-01.htm" : "32017-02.htm"); - break; - } - case State.STARTED: - { - if (st.isCond(2) && (st.getQuestItemsCount(ORC_GOODS) >= ORC_GOODS_REQUIRED_COUNT)) - { - htmltext = "32017-04.html"; - } - else - { - htmltext = "32017-05.html"; - } - break; - } - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/32016-01.html b/trunk/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/32016-01.html deleted file mode 100644 index 445dcb1cb8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/32016-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Beacon Tower Manager Torrant:
-Are you the reinforcements we asked for? You're certainly more powerful than I anticipated!
-Unfortunately, though, the situation here has deteriorated and the original mission is invalid. Perhaps we could still put your skills to good use. Are you up for a new mission? If so, speak with Chairen.
-(It is no longer possible to pursue this quest because the hunting field levels have been changed.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/32016-02.html b/trunk/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/32016-02.html deleted file mode 100644 index 9684ccedb7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00646_SignsOfRevolt/32016-02.html +++ /dev/null @@ -1,5 +0,0 @@ -Beacon Tower Manager Torrant:
-Are you the reinforcements we asked for? Well, you came too late.
-The Ragna Orcs around here have grown tremendously in strength thanks to the power of Kasha, the spirit that Baranka summoned. There is nothing you can do now...
-(It is no longer possible to pursue this quest because the hunting field levels have been changed.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-01.htm b/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-01.htm deleted file mode 100644 index 3c84225fe6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Railroad Worker Obi:
-This area has gone to hell lately! The security was never that great, but once there were merchants and warehouses, security guards and adventurers... But that was a long time ago....
-Now they're all gone! All that's left is this old, worn-out railroad station and the Bandits who rob anyone foolish enough to come here!
-How would you like a job?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-02.htm b/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-02.htm deleted file mode 100644 index 59bcbeeb0d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Railroad Worker Obi:
-The Bandits around here are known as Rayito's Bandits. They're not very strong but they're tenacious!
-Honestly, friend, I don't think you're ready to take these fellows on!
-Come back when you've had more experience.
-(Characters must have achieved at least level 30 to undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-03.htm b/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-03.htm deleted file mode 100644 index edb716fd2d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Railroad Worker Obi:
-The Bandits around these parts are known as Rayito's Bandits. They're not very strong but they're tenacious like bugs at a picnic.
-
They survive by hunting the wild beasts around here. They use the beasts' teeth to decorate themselves! Nasty! Bring me proof that you killed 200 Bandits and I will give you reward. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-04.html b/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-04.html deleted file mode 100644 index f69283ecd3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Railroad Worker Obi:
-Do you have 200 proofs from the Bandits?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-05.html b/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-05.html deleted file mode 100644 index 716c4fa972..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Railroad Worker Obi:
-Defeat the Bandits and bring me 200 proofs. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-06.html b/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-06.html deleted file mode 100644 index 6057ae99eb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/32052-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Railroad Worker Obi:
-You brought 200 Bandit proofs. That's great!
-We can rest easily for a while now.
-Please accept this token of our gratitude. It's not much, but please accept it. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/Q00649_ALooterAndARailroadMan.java b/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/Q00649_ALooterAndARailroadMan.java deleted file mode 100644 index ee0ba81f27..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/Q00649_ALooterAndARailroadMan.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00649_ALooterAndARailroadMan; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; -import com.l2jserver.gameserver.util.Util; - -/** - * A Looter And A Railroad Man (649) - * @author netvirus - */ -public final class Q00649_ALooterAndARailroadMan extends Quest -{ - // Npc - private static final int RAILMAN_OBI = 32052; - // Item - private static final int THIEF_GUILD_MARK = 8099; - // Misc - private static final int MIN_LVL = 30; - // Monsters - private static final Map MONSTERS = new HashMap<>(); - - static - { - MONSTERS.put(22017, 529); // Bandit Sweeper - MONSTERS.put(22018, 452); // Bandit Hound - MONSTERS.put(22019, 606); // Bandit Watchman - MONSTERS.put(22021, 615); // Bandit Undertaker - MONSTERS.put(22022, 721); // Bandit Assassin - MONSTERS.put(22023, 827); // Bandit Warrior - MONSTERS.put(22024, 779); // Bandit Inspector - MONSTERS.put(22026, 1000); // Bandit Captain - } - - public Q00649_ALooterAndARailroadMan() - { - super(649, Q00649_ALooterAndARailroadMan.class.getSimpleName(), "A Looter and a Railroad Man"); - addStartNpc(RAILMAN_OBI); - addTalkId(RAILMAN_OBI); - addKillId(MONSTERS.keySet()); - registerQuestItems(THIEF_GUILD_MARK); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "32052-03.htm": - { - if (st.isCreated()) - { - st.startQuest(); - htmltext = event; - } - break; - } - case "32052-06.html": - { - if (st.isCond(2) && st.hasQuestItems(THIEF_GUILD_MARK)) - { - st.giveAdena(21698, true); - st.exitQuest(true, true); - htmltext = event; - } - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - { - htmltext = (player.getLevel() >= MIN_LVL) ? "32052-01.htm" : "32052-02.htm"; - break; - } - case State.STARTED: - { - htmltext = (st.getQuestItemsCount(THIEF_GUILD_MARK) == 200) ? "32052-04.html" : "32052-05.html"; - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState st = getQuestState(killer, false); - if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false) && (getRandom(1000) < MONSTERS.get(npc.getId()))) - { - st.giveItems(THIEF_GUILD_MARK, 1); - if (st.getQuestItemsCount(THIEF_GUILD_MARK) == 200) - { - st.setCond(2, true); - } - else - { - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - return super.onKill(npc, killer, isSummon); - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/31989-01.html b/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/31989-01.html deleted file mode 100644 index e09b55dd94..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/31989-01.html +++ /dev/null @@ -1,3 +0,0 @@ -Fishing Guild Member Batidae:
-Oh, thank you so much! My son has returned to me and started learning to fish! Please, accept this token of my gratitude. I wish I could give you more... I'm just a poor fisherman, and I don't catch as many fish as I used to... I don't blame my son for wanting to run away from home, but what can I do... People will always need fish! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-01.htm b/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-01.htm deleted file mode 100644 index b977d2a944..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Ivan:
-Oh, you're an adventurer, aren't you? Phew... I'm Ivan. I'm a fisherman like my father! But to tell you the truth, I hate the smell of fish! So I left home... I've been wandering around this dangerous place, and now I'm thinking that maybe my father was right after all! I wish I could go back home... Please help me!!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-01a.htm b/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-01a.htm deleted file mode 100644 index 32acb5ad50..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-01a.htm +++ /dev/null @@ -1,5 +0,0 @@ -Ivan:
-The boy appears not to trust you.
-He doesn't want to talk to you.
-(Only characters level 26 and above are permitted to take on this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-02.html b/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-02.html deleted file mode 100644 index f4a80cd73c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-02.html +++ /dev/null @@ -1,6 +0,0 @@ -Ivan:
-Thanks to you, I can get home safely. Thank you again!
-My father is Batidae, a Fishing Guild Member of the Town of Schuttgart.
-If you go there, please look for my father. He'll reward you.
-I'm leaving now... Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-03.html b/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-03.html deleted file mode 100644 index 8a71401091..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Ivan:
-You're such a cold person... I never should've left home.... If I die out here, I will curse you and haunt you forever! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-04.htm b/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-04.htm deleted file mode 100644 index c96e2e2e2e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-04.htm +++ /dev/null @@ -1,6 +0,0 @@ -Ivan:
-Thank you so much! Now I can now get home safely. Again, thank you.
-My father is Batidae, a Fishing Guild Member of the Town of Schuttgart.
-If you go there, please look for my father. He'll reward you.
-I'm leaving now... Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-05.htm b/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-05.htm deleted file mode 100644 index 22ae90b33a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/32014-05.htm +++ /dev/null @@ -1,3 +0,0 @@ -Ivan:
-You don't have the Scroll of Escape... If you ever meet someone who has one, please ask them to help me! By all that is Holy, I beg you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/Q00651_RunawayYouth.java b/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/Q00651_RunawayYouth.java deleted file mode 100644 index ea72ae899f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00651_RunawayYouth/Q00651_RunawayYouth.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00651_RunawayYouth; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Runaway Youth (651) - * @author malyelfik - */ -public class Q00651_RunawayYouth extends Quest -{ - // NPCs - private static final int BATIDAE = 31989; - private static final int IVAN = 32014; - // Item - private static final int SOE = 736; - // Misc - private static final int MIN_LEVEL = 26; - - public Q00651_RunawayYouth() - { - super(651, Q00651_RunawayYouth.class.getSimpleName(), "Runaway Youth"); - addStartNpc(IVAN); - addTalkId(BATIDAE, IVAN); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - if (event.equals("32014-03.html")) - { - htmltext = event; - } - else if (event.equals("32014-04.htm")) - { - if (!st.hasQuestItems(SOE)) - { - return "32014-05.htm"; - } - st.startQuest(); - st.takeItems(SOE, 1); - npc.deleteMe(); - htmltext = event; - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case IVAN: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? "32014-01.htm" : "32014-01a.htm"; - break; - case State.STARTED: - htmltext = "32014-02.html"; - break; - } - break; - case BATIDAE: - if (st.isStarted()) - { - st.giveAdena(2883, true); - st.exitQuest(true, true); - htmltext = "31989-01.html"; - } - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/30181-01.html b/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/30181-01.html deleted file mode 100644 index 378958c1af..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/30181-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Galibredo:
-Thank you so much! Thanks to you, my daughter made it home safely. I certainly gave her a good talking-to! I swear, I don't know what I'm going to do with that girl! I'm afraid something terrible will happen to her someday... Humph! By the way, Take this! It's not much, but think of it as a small token of my appreciation. Thank you again.
-What's a father to do... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-01.htm b/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-01.htm deleted file mode 100644 index 0b4a6c4f25..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Suki:
-Good heavens! Oh, my ... ... You're an adventurer, aren't you? You certainly surprised me. Who am I? My name's Suki! What am I doing here? Honestly, I fell in love with a wonderful Warrior who came to our town not too long ago. A dark face with a melancholy shadow... Sinewy hands held his sword tight... He admired my pure heart and then he... he kissed my... Oh my! Some things are better left unsaid... Anyway, when he left, he wouldn't let me go with him, saying that it was too dangerous for me... Although I knew the danger well, I secretly followed him! I got lost and wound up here... The days have been hard here. My skin has grown rough and I haven't eaten in days! I would give anything just to get back home!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-01a.htm b/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-01a.htm deleted file mode 100644 index beb94f3466..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-01a.htm +++ /dev/null @@ -1,5 +0,0 @@ -Suki:
-It seems that Suki doesn't trust you.
-There's nothing you can do for her at this time.
-(Only characters of level 36 and above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-02.htm b/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-02.htm deleted file mode 100644 index e1df656079..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-02.htm +++ /dev/null @@ -1,3 +0,0 @@ -Suki:
-You're the adventurer who helped me! Thank you so much! Now I can return home safely. If you're ever in the Town of Oren, speak with Galibredo. He's my father, and he'll reward you for your kindness. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-03.html b/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-03.html deleted file mode 100644 index ce4a01b5c4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Suki:
-Humph! Oh yeah? If I die out here, it'll be all your fault!
-Humph! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-04.htm b/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-04.htm deleted file mode 100644 index 6381a4b272..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-04.htm +++ /dev/null @@ -1,3 +0,0 @@ -Suki:
-Oh, thank you so much! Thanks to you, I can now go back home safely. Thank you. By the way... Are you seeing anybody? .... Oh, never mind...Hehehe.. If you're ever in the Town of Oren, speak with Galibredo. He's my father, and he'll reward your kindness. I have to go now. So long, handsome! Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-04a.htm b/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-04a.htm deleted file mode 100644 index 5c670d247d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-04a.htm +++ /dev/null @@ -1,3 +0,0 @@ -Suki:
-Oh, thank you so much! I can now go home safely! By the way... You have such smooth skin and great body tone... Not to mention that fine looking face! What's your secret? Oh, never mind... If you're ever in the Town of Oren, speak with Galibredo. He's my father, and he'll reward your kindness. Well, I should be going... Goodbye and Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-05.htm b/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-05.htm deleted file mode 100644 index 7ada33e2cf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/32013-05.htm +++ /dev/null @@ -1,3 +0,0 @@ -Suki:
-Ah, you don't have the Scroll of Escape, huh? Well, if you meet someone who has one, please tell them that about this innocent, fragile and pitiful girl in trouble that desperately needs their help... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/Q00653_WildMaiden.java b/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/Q00653_WildMaiden.java deleted file mode 100644 index 351674185a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00653_WildMaiden/Q00653_WildMaiden.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00653_WildMaiden; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Wild Maiden (653) - * @author malyelfik - */ -public class Q00653_WildMaiden extends Quest -{ - // NPCs - private static final int GALIBREDO = 30181; - private static final int SUKI = 32013; - // Item - private static final int SOE = 736; - // Misc - private static final int MIN_LEVEL = 36; - - public Q00653_WildMaiden() - { - super(653, Q00653_WildMaiden.class.getSimpleName(), "Wild Maiden"); - addStartNpc(SUKI); - addTalkId(GALIBREDO, SUKI); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - if (event.equals("32013-03.html")) - { - htmltext = event; - } - else if (event.equals("32013-04.htm")) - { - if (!st.hasQuestItems(SOE)) - { - return "32013-05.htm"; - } - st.startQuest(); - st.takeItems(SOE, 1); - npc.deleteMe(); - htmltext = (getRandom(2) == 0) ? event : "32013-04a.htm"; - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case SUKI: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? "32013-01.htm" : "32013-01a.htm"; - break; - case State.STARTED: - htmltext = "32013-02.htm"; - break; - } - break; - case GALIBREDO: - if (st.isStarted()) - { - st.giveAdena(2553, true); - st.exitQuest(true, true); - htmltext = "30181-01.html"; - } - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-01.htm b/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-01.htm deleted file mode 100644 index 9b2a2c92bb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Nameless Spirit:
-Oh, hello again! Yes, I spoke with Wigoth, and he assures me that this song is the one! We can now pass through the force field. It brings us one step closer to him, eh?
By the way, could you help me put Frintezza to sleep? As I said, we can't eliminate Frintezza completely with our power at its current level... But we can wait until he wakes up and then put him back to sleep before he can act!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-02.htm b/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-02.htm deleted file mode 100644 index d3c75168f6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Nameless Spirit:
-Yes, thank you! Now I'll help you and your friends pass through the force field. By the way, where are your friends? Surely you don't intend to take Frintezza on all by yourself, do you? You should take up to four parties with you. Frintezza's evil power won't be easily defeated! More than 5 parties cannot enter due to the size of the space.
-You and your friends will need a magic scroll that can temporarily disable the force field so you can pass through. Since you got the password, creating the scroll should be no problem! That is, unless...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-03.html b/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-03.html deleted file mode 100644 index 5e86d43d89..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Nameless Spirit:
-Well... I need a parchment to write the spell on. Go to the Wall of Argos and slaughter the Canyon Antelope or the Canyon Antelope Slave and bring me the Skin of the Antelope! It'll make a lovely parchment!
-Ah! By the way, once you pass through the force field, only the Command Channel Leader in command of all the parties needs the scroll. Therefore, only one skin is needed. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-04.htm b/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-04.htm deleted file mode 100644 index ad8de140ce..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Nameless Spirit:
-What do you want? I have nothing to say to you.
-(Characters must have achieved at least level 74 and completed the "Last Imperial Prince" quest before undertaking this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-05.html b/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-05.html deleted file mode 100644 index 6da56338e5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Nameless Spirit:
-Go to the Wall of Argos and slaughter the Canyon Antelope or the Canyon Antelope Slave and bring back the Skin of the Antelope? It will make a wonderful parchment.
-Ah! by the way, when you pass through the force field, only the Command Channel Leader in command of all the parties needs the scroll. Therefore, only one scroll is needed. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-06.html b/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-06.html deleted file mode 100644 index 8ab9505071..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Nameless Spirit:
-Excellent! Now, could you please smooth out the skin? Remove the hair, and smooth out the skin so that it's thin and soft. Just enough for me to write the spell down...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-07.html b/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-07.html deleted file mode 100644 index d1f130ab2c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/31453-07.html +++ /dev/null @@ -1,5 +0,0 @@ -Nameless Spirit:
-Good job... Now to write down the spell...
....Light turns darkness away, and shines upon the hidden door. All obstacles will disappear and the path to truth will become clear...
-Alright, it's done. Now, you and your friends go and meet the Imperial Tomb Guide near the entrance of the Imperial Tomb. He'll take you to Frintezza...
-(Make sure the Command Channel Leader has Frintezza's Magic Force Field Removal Scroll when you meet the Imperial Tomb Guide.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/Q00654_JourneyToASettlement.java b/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/Q00654_JourneyToASettlement.java deleted file mode 100644 index 0bb810cf1c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00654_JourneyToASettlement/Q00654_JourneyToASettlement.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00654_JourneyToASettlement; - -import java.util.HashMap; -import java.util.Map; - -import quests.Q00119_LastImperialPrince.Q00119_LastImperialPrince; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * Journey to a Settlement (654) - * @author Adry_85 - */ -public final class Q00654_JourneyToASettlement extends Quest -{ - // NPC - private static final int NAMELESS_SPIRIT = 31453; - // Items - private static final int ANTELOPE_SKIN = 8072; - private static final int FRINTEZZAS_SCROLL = 8073; - // Misc - private static final int MIN_LEVEL = 74; - - private static final Map MOBS_SKIN = new HashMap<>(); - static - { - MOBS_SKIN.put(21294, 0.840); // Canyon Antelope - MOBS_SKIN.put(21295, 0.893); // Canyon Antelope Slave - } - - public Q00654_JourneyToASettlement() - { - super(654, Q00654_JourneyToASettlement.class.getSimpleName(), "Journey to a Settlement"); - addStartNpc(NAMELESS_SPIRIT); - addTalkId(NAMELESS_SPIRIT); - addKillId(MOBS_SKIN.keySet()); - registerQuestItems(ANTELOPE_SKIN); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "31453-02.htm": - { - st.startQuest(); - st.setMemoState(1); - htmltext = event; - break; - } - case "31453-03.html": - { - if (st.isMemoState(1)) - { - st.setMemoState(2); - st.setCond(2, true); - htmltext = event; - } - } - case "31453-07.html": - { - if (st.isMemoState(2) && st.hasQuestItems(ANTELOPE_SKIN)) - { - giveItems(player, FRINTEZZAS_SCROLL, 1); - st.exitQuest(true, true); - htmltext = event; - } - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState st = getRandomPartyMemberState(player, 2, 3, npc); - if ((st != null) && giveItemRandomly(st.getPlayer(), npc, ANTELOPE_SKIN, 1, 1, MOBS_SKIN.get(npc.getId()), true)) - { - st.setCond(3); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st.isCreated()) - { - st = player.getQuestState(Q00119_LastImperialPrince.class.getSimpleName()); - htmltext = ((player.getLevel() >= MIN_LEVEL) && (st != null) && (st.isCompleted())) ? "31453-01.htm" : "31453-04.htm"; - } - else if (st.isStarted()) - { - if (st.isMemoState(1)) - { - st.setMemoState(2); - st.setCond(2, true); - htmltext = "31453-03.html"; - } - else if (st.isMemoState(2)) - { - htmltext = (hasQuestItems(player, ANTELOPE_SKIN) ? "31453-06.html" : "31453-05.html"); - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-01.htm b/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-01.htm deleted file mode 100644 index 651e6dd5c9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -High Summoner Galatea:
-Long ago, Gludio was consumed in the Burning War when the forces of the Ivory Tower confronted the bastard demon Beleth. Beleth's evil permanently scarred the land, leaving nothing but desolation and waste.
-I've been researching ways to restore Gludio to its former beauty. Will you help me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-02.htm b/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-02.htm deleted file mode 100644 index 1fc2ffc893..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -High Summoner Galatea:
-Oh, thank you! My investigation is finally going somewhere! It seems to me that there's a connection between the devastation in southern Gludio and the Sylphs... you know, those insane Wind Spirits in Windy Hill...
-Unfortunately, that's as far as I've gotten with my research. Could you bring me Fairy Breath from those pesky vermin in Windy Hill? Hunt the Sobbing Wind, Babbling Wind and Giggling Wind and then find what is known as the Container of Fairy Breath and bring those to me. The breath of a Sylph is quite an odd thing I know... but you'll know what I'm talking about when you get there... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-03.html b/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-03.html deleted file mode 100644 index 4ea7d52560..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-03.html +++ /dev/null @@ -1,4 +0,0 @@ -High Summoner Galatea:
-Long ago, Gludio was consumed in the Burning War when the forces of the Ivory Tower confronted the bastard demon Beleth. Beleth's evil permanently scarred the land, leaving nothing but desolation and waste.
-I've been researching ways to restore Gludio to its former beauty. Will you come back and help me when you've increased in your abilities? (Characters must have achieved level 26 or higher to undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-04.html b/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-04.html deleted file mode 100644 index a70c052254..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-04.html +++ /dev/null @@ -1,4 +0,0 @@ -High Summoner Galatea:
-Wonderful! You've brought me some Fairy Breath! The more I have, the better!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-05.html b/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-05.html deleted file mode 100644 index 017e50af6c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-05.html +++ /dev/null @@ -1,5 +0,0 @@ -High Summoner Galatea:
-Your help has been invaluable to my research! Unfortunately, the job isn't finished yet. Would you consider staying on and continuing to help me for a while?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-06.html b/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-06.html deleted file mode 100644 index 7481d4c7e7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-06.html +++ /dev/null @@ -1,3 +0,0 @@ -High Summoner Galatea:
-Please go to Windy Hill and find Fairy Breath Containers. They're essential to my research as well! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-07.html b/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-07.html deleted file mode 100644 index cc0a9abcfb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-07.html +++ /dev/null @@ -1,3 +0,0 @@ -High Summoner Galatea:
-Marvelous! Please continue to bring me more Fairy Breath. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-08.html b/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-08.html deleted file mode 100644 index d6d74be8a5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-08.html +++ /dev/null @@ -1,3 +0,0 @@ -High Summoner Galatea:
-Well, I suppose you're ready to move on to another adventure. Good luck, my child. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-09.html b/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-09.html deleted file mode 100644 index ca925eea32..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/30634-09.html +++ /dev/null @@ -1,3 +0,0 @@ -High Summoner Galatea:
-Please go to Windy Hill and collect Fairy Breath. It's essential to my research! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/Q00659_IdRatherBeCollectingFairyBreath.java b/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/Q00659_IdRatherBeCollectingFairyBreath.java deleted file mode 100644 index 9c4ef39913..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/Q00659_IdRatherBeCollectingFairyBreath.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00659_IdRatherBeCollectingFairyBreath; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * I'd Rather Be Collecting Fairy Breath (659) - * @author Adry_85 - */ -public final class Q00659_IdRatherBeCollectingFairyBreath extends Quest -{ - // NPC - private static final int GALATEA = 30634; - // Item - private static final int FAIRY_BREATH = 8286; - // Misc - private static final int MIN_LEVEL = 26; - // Mobs - private static final Map MOBS = new HashMap<>(); - static - { - MOBS.put(20078, 0.98); // whispering_wind - MOBS.put(21023, 0.82); // sobing_wind - MOBS.put(21024, 0.86); // babbleing_wind - MOBS.put(21025, 0.90); // giggleing_wind - MOBS.put(21026, 0.96); // singing_wind - } - - public Q00659_IdRatherBeCollectingFairyBreath() - { - super(659, Q00659_IdRatherBeCollectingFairyBreath.class.getSimpleName(), "I'd Rather Be Collecting Fairy Breath"); - addStartNpc(GALATEA); - addTalkId(GALATEA); - addKillId(MOBS.keySet()); - registerQuestItems(FAIRY_BREATH); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30634-02.htm": - { - st.startQuest(); - htmltext = event; - break; - } - case "REWARD": - { - if (hasQuestItems(player, FAIRY_BREATH)) - { - final long count = getQuestItemsCount(player, FAIRY_BREATH); - final long bonus = ((count >= 10) ? 5365 : 0); - st.takeItems(FAIRY_BREATH, -1); - st.giveAdena((count * 50) + bonus, true); - htmltext = "30634-05.html"; - } - else - { - htmltext = "30634-06.html"; - } - break; - } - case "30634-07.html": - { - htmltext = event; - break; - } - case "30634-08.html": - { - st.exitQuest(true, true); - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState st = getRandomPartyMemberState(player, -1, 3, npc); - if (st != null) - { - st.giveItemRandomly(npc, FAIRY_BREATH, 1, 0, MOBS.get(npc.getId()), true); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (st == null) - { - return htmltext; - } - - if (st.isCreated()) - { - htmltext = ((player.getLevel() >= MIN_LEVEL) ? "30634-01.htm" : "30634-03.html"); - } - else if (st.isStarted()) - { - htmltext = (hasQuestItems(player, FAIRY_BREATH) ? "30634-04.html" : "30634-09.html"); - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-01.htm b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-01.htm deleted file mode 100644 index 47970c4375..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Alex:
-We've been having problems in Floran with monsters violating our perimeter. There have been a few skirmishes with our militia, but even worse than that, some monsters have gotten past our sentries and attacked citizens. I'm embarrassed to admit that - it's our job to keep this community safe, but we're just spread too darn thin! Reports indicate the monsters are targeting farmers out plowing their fields. I'm telling you this because I'd like your help in dealing with these monsters. If we can stop them, it'd go a long way toward restoring peace and order in Floran Village. Will you help us?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-02.htm b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-02.htm deleted file mode 100644 index 9265f25ab1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-02.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Alex:
-Hrm. Harrumph. That's awfully generous of you youngsters, and it absolutely shows the right spirit, but I just can't accept your help in good conscience. These monsters are far too much for our militia to handle, and honestly I can't see you succeeding where my men have failed. Maybe a more experienced band could do the job, but I fear you'd just be throwing your lives away.
-Now don't be offended. My men haven't exactly been up to the challenge either. But who knows? You may see more action in the future and come back twice as capable as before! If that happens, and if we're still stuck with this problem, then I'll gladly accept your help. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-03.htm b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-03.htm deleted file mode 100644 index cec2070fa9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Alex:
-Ha! I'll be honest - I was hoping for someone of your caliber to step forward. Here's the situation: we have a major problem with monster incursions in the Floran Agricultural Area. They've been killing innocent citizens, and we can't have that. I'll need proof of your kills, of course. No offense, but I can't pay out a reward unless I'm sure it's done. Bring me the Watching Eyes, a Golem Shard and a Delu Lizardman Scale, and I'll gladly pay you.
-Good hunting! We're counting on you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-04.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-04.html deleted file mode 100644 index df27556e0e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Captain Alex:
-Maria sent you, you say? Hrmph. Unfortunate business, that. Is she doing better?
-In any event, I'm glad to see you. We're having a problem with monster incursions, and the militia's spread too thin to handle it. Most of the attacks have been on farmers trying to reclaim and cultivate nearby abandoned land. I'll wager you're just the type of adventurer we need to fight this problem, and there's a reward in it. Just bring me the Watching Eyes, a Golem Shard and a Delu Lizardman Scale to prove your kills. Good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-05.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-05.html deleted file mode 100644 index 52f879ab83..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Captain Alex:
-Ha! You've done it. Fine work! I knew you had it in you. And here is the proof I asked for - a sight for sore eyes, if I do say so myself! Well, I spoke of a reward, and a reward you shall have!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-06.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-06.html deleted file mode 100644 index be4096976a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-06.html +++ /dev/null @@ -1,6 +0,0 @@ -Captain Alex:
-Great rumbling thunder, you've done some work here that's for sure! You have this soldier's thanks. Now we can get those fields working, and that means more food for everyone. Well, I can't offer you much, but please take this Adena as compensation for the great good you've done us.
-It's obvious you are a person of action, and to be honest, we have more problems that could use your attention. You've proven your mettle to all of us, so... are you interested?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-07.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-07.html deleted file mode 100644 index e0f8c734d3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Captain Alex:
-Hrmph. Well, I understand. I hope to see you again - y'never know, after all. In the meantime, best wishes and many thanks! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-08.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-08.html deleted file mode 100644 index 96670c645a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Captain Alex:
-Eh? I fear you've made a mistake, folks; your work's not done. There's nothing to fight standing here, so you'd best head out to the Floran Agricultural Area. Go on, kill what needs killing, and don't forget - bring me the Watching Eyes, a Roughly Hewn Rock Golem Shard and a Delu Lizardman Scale to earn your reward. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-08a.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-08a.html deleted file mode 100644 index 08d4495212..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-08a.html +++ /dev/null @@ -1,3 +0,0 @@ -Captain Alex:
-Well, if that's what you want, I won't stop you. Obviously there's no shortage of adventure out there. But don't forget us in Floran Village, should you find yourself at loose ends. We're not the plaything of some idle lord; we're an independent farmers' commune, and we welcome the help of a competent band of adventurers. Good luck in your travels. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-09.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-09.html deleted file mode 100644 index 293986cf7a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-09.html +++ /dev/null @@ -1,8 +0,0 @@ -Captain Alex:
-Hmmm. I can see that you are a practiced band of adventurers, and as one old soldier to others, I think we understand each other. There's always a bond between those who fight for order.
-Soldier to soldier, then... we're having troubles in Floran, and my militia can't keep up. Don't take my word for it, though. Hear it from those who are suffering.
- - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-10.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-10.html deleted file mode 100644 index 65233674c9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-10.html +++ /dev/null @@ -1,6 +0,0 @@ -Captain Alex:
-Take Timothy there. He and his friend Jeremy were working a new field they had bought with their shared savings. They put everything into that effort. Not long ago, the two of them were hard at work, each taking turns at the plow, when something - we're not sure what - attacked them. Jeremy was at the plow, and it slowed him down, so he didn't make it. Timothy wanted to help, but in the face of such an attack he was helpless, and with a bitter curse, he ran.
-Timothy says the only way he can live with himself now is to offer 100 dead monsters as recompense, to put his friend's soul to rest. I've told him it won't bring Jeremy back, but he won't listen. Honestly, though, I have no idea how he'd get 100 dead monsters. But it sure would take a load off of his soul.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-11.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-11.html deleted file mode 100644 index aad7c71731..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-11.html +++ /dev/null @@ -1,3 +0,0 @@ -Captain Alex:
-Heh. I appreciate the thought, but I fear it won't do. Timothy's pretty insistent on this point, and if he says it'll take 100 monster corpses to placate Jeremy's ghost, he's not likely to settle for less. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-12.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-12.html deleted file mode 100644 index 36877d12b1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-12.html +++ /dev/null @@ -1,5 +0,0 @@ -Captain Alex:
-Soldier, I can't thank you enough. You've helped our farming community enormously, and we all appreciate it. It's not much, but Timothy wanted me to give you something as an extra reward for your help. It's of no economic value, but it's a gift, and you'd oblige us both by taking it. And, again, my undying thanks.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-13.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-13.html deleted file mode 100644 index dec5c4aac6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-13.html +++ /dev/null @@ -1,5 +0,0 @@ -Captain Alex:
-You have the gratitude of the whole of Floran! I'm sorry we have no gold or other reward to offer you beyond our thanks. Of course, for soldiers like us, that's often times a greater reward than gold. Well, I suppose I can offer you a small gift. I wish it were more, but you'd oblige me by taking it, and poor Timothy as well.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-14.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-14.html deleted file mode 100644 index bad99f5c87..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-14.html +++ /dev/null @@ -1,8 +0,0 @@ -Captain Alex:
-Ah, Maria. Poor, poor girl. If ever a bride meant her vow "for better or for worse," it was she. Maria married Jason at the height of our monster troubles, but you wouldn't have known anything was wrong to see the two of them so happy, so in love. It did us all good to see them.
-Jason worked his fields as hard as any man could, but they didn't yield enough to support them, and Maria was soon great with child. He did what many men would in his place: he took a chance. He found some wild, abandoned fields with fertile soil, and he began to work them. He didn't recognize the signs of monsters in the area; he was a farmer, not a tracker or an adventurer. One day, he didn't return from his new field, and we haven't seem him since.
-It makes my blood boil to think of it. We all failed him. We of the militia didn't protect him. We should have! If only we could have! What good are we if we can't even keep our farmers safe against monsters? They can't fight! That's our job, by thunder, and we failed to do it!
-Hrmph. Forgive me. Hadn't meant to go on so. Anyway, Maria is bereft. She wants 200 dead monsters to put Jason's soul to rest. I wish I could give 'em to her; she could use some peace. But where could I get 200 dead monsters?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-15.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-15.html deleted file mode 100644 index 3b9aeb96f3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-15.html +++ /dev/null @@ -1,3 +0,0 @@ -Captain Alex:
-That's a fine gesture, but it won't do for Maria. She wants 200 monsters to die for her man, and nothing less will give her peace. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-16.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-16.html deleted file mode 100644 index 187045588c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-16.html +++ /dev/null @@ -1,5 +0,0 @@ -Captain Alex:
-Soldier, you've done us a great favor, and mere thanks aren't enough. I can't offer much, but Maria insisted that I give you something. It won't fetch you any gold, but it's valuable to her, and it's a gift from the heart. You'd be doing all of us a kindness by accepting it. And who knows? It might help you somehow, somewhere.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-17.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-17.html deleted file mode 100644 index d6527d5216..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-17.html +++ /dev/null @@ -1,5 +0,0 @@ -Captain Alex:
-I can't thank you enough, soldier. You've helped our poor little farming community beyond measure. Maria thanks you, too. Here's all I have to offer you for your help — aside from our appreciation, which for soldiers like us is the highest reward. It's a small gift, but please accept it. Maybe it'll help you somehow, in some way.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-18.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-18.html deleted file mode 100644 index 081acd2f76..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-18.html +++ /dev/null @@ -1,6 +0,0 @@ -Captain Alex:
-Well, you've seen the area, and you well know we can't be protected by the lord's army. We've formed a citizen militia, but it's done us precious little good. Myself aside, most of our farmers barely know which end of a knife to hold, and not a sword among them. They're helpless against the vicious monsters that plague us.
-I'd normally hire adventurers to help us, but we can't afford the gold to pay anyone experienced enough to do it for money, and we're not exactly being overwhelmed with volunteers. So we fight, and we die, and the village chief's face grows longer with every funeral he has to attend.
The chief wants to hold a memorial service for the victims. Nothing fancy, but with the losses we've suffered, we'd need five hundred monster sacrifices to put the victims' souls to rest. I have no idea where we'll get them.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-19.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-19.html deleted file mode 100644 index 883fd56091..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-19.html +++ /dev/null @@ -1,3 +0,0 @@ -Captain Alex:
-I appreciate the thought, but we've lost so many militiamen that it would take 500 monster sacrifices to put their souls to rest. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-20.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-20.html deleted file mode 100644 index 48851f789b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-20.html +++ /dev/null @@ -1,5 +0,0 @@ -Captain Alex:
-I thank you for that, I truly do. As the captain of the militia, it'll relieve me, as well as the chief, to put the souls of our dead militiamen to rest. No reward could match the great service you've done us, and I have precious little to give besides our thanks. But the chief entrusted me with something for a great-hearted adventurer and, by thunder, I see one before me now. Please accept it, and let's hope for better days for our struggling village.
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-21.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-21.html deleted file mode 100644 index 06f024a12b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-21.html +++ /dev/null @@ -1,5 +0,0 @@ -Captain Alex:
-I can't thank you enough for this. With these sacrifices, we can put our brave dead to rest. The chief thanks you on behalf of the whole village. I haven't much to offer you in return, but here's a small token of our appreciation; please accept it. And let's hope for better days for Floran!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-22.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-22.html deleted file mode 100644 index 210949c224..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-22.html +++ /dev/null @@ -1,4 +0,0 @@ -Captain Alex:
-So, you're off to other adventures? Very well, but... I see you have proof of completing the quest. I can offer you a reward for it, although I'm sure it won't be of any other use to you. Let's make that trade now, shall we?
-Thank you, and here's your reward. Good luck in your travels, and don't forget us here in Floran. Our doors are always open to you! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-23.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-23.html deleted file mode 100644 index c55f36b63d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30291-23.html +++ /dev/null @@ -1,3 +0,0 @@ -Captain Alex:
-So, you're on to other adventures, are you? Well, good luck to you, and don't forget us here in Floran. We farmers know how to welcome adventurers who have helped us. Farewell! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-01.htm b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-01.htm deleted file mode 100644 index 9624c7ce2c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-01.htm +++ /dev/null @@ -1,5 +0,0 @@ -Maria:
-What do you think of the Dion Peasant Riot?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-02.htm b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-02.htm deleted file mode 100644 index 82971113d8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-02.htm +++ /dev/null @@ -1,12 +0,0 @@ -Maria:
-Oh, really?
-Come closer, so no one will hear us...
-...Some peasants actually survived that brutal repression!
-They've established an autonomous community called Floran Village. There they have been leading free lives, or at least as free as peasants' hard lives can be, that is...
-I'm so proud of them!
-Still, I'm afraid things aren't going so well in Floran Village right now. But they have their pride, and hesitate to ask for the help they need from adventurers like you.
-Oh, did I mention that I'm from Floran Village? I'm here on business for my village, as a matter of fact.
-Would you help my village?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-03.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-03.html deleted file mode 100644 index 12f3cfe663..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Maria:
-Hmm... You should think about whether or not you're cut out to be an adventurer. Good deeds often come back as favors when you need them most! Humph! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-04.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-04.html deleted file mode 100644 index d2c034ede4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Maria:
-Did you know there were survivors of the Dion Peasant Riot? They're desperately in need of help from an adventurer like you! You should try to help them when you've had more experience!
-(This quest may only be undertaken by characters of level 30 and above.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-05.html b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-05.html deleted file mode 100644 index de2431473b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Maria:
-You're a true friend of the farmer! I expect great things from you! By the way, how is Alex in Floran Village? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-06.htm b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-06.htm deleted file mode 100644 index 5d58ef928a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-06.htm +++ /dev/null @@ -1,5 +0,0 @@ -Maria:
-I was right about you! You have a deep sense of what is right and wrong. We think you'll be a great help to us!
-Floran Village is autonomous, and has no protection against organized military attacks. But they've recently formed a militia to protect the village from the monsters... Go to Floran Village and meet Militia Captain Alex...
-Tell him I sent you! Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-06a.htm b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-06a.htm deleted file mode 100644 index 96e8f91906..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/30608-06a.htm +++ /dev/null @@ -1,4 +0,0 @@ -Maria:
-When you're more experienced, maybe I can show you how to help them.
-(Only characters of level 30 and above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/Q00660_AidingTheFloranVillage.java b/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/Q00660_AidingTheFloranVillage.java deleted file mode 100644 index e2488c65ab..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00660_AidingTheFloranVillage/Q00660_AidingTheFloranVillage.java +++ /dev/null @@ -1,387 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00660_AidingTheFloranVillage; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemChanceHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Aiding the Floran Village (660) - * @author Zoey76 - */ -public final class Q00660_AidingTheFloranVillage extends Quest -{ - // NPC - private static final int ALEX = 30291; - private static final int MARIA = 30608; - // Items - private static final int SCROLL_ENCHANT_WEAPON_D_GRADE = 955; - private static final int SCROLL_ENCHANT_ARMOR_D_GRADE = 956; - private static final int WATCHING_EYES = 8074; - private static final int ROUGHLY_HEWN_ROCK_GOLEM_SHARD = 8075; - private static final int DELU_LIZARDMANS_SCALE = 8076; - // Misc - private static final int MIN_LEVEL = 30; - private static final int ADENA_REWARD_1 = 13000; - private static final int ADENA_REWARD_2 = 1000; - private static final int ADENA_REWARD_3 = 20000; - private static final int ADENA_REWARD_4 = 2000; - private static final int ADENA_REWARD_5 = 45000; - private static final int ADENA_REWARD_6 = 5000; - private static final int DELU_LIZARDMAN_COMMANDER_DOUBLE_ITEM_CHANCE = 33; - // Monsters - private static final int DELU_LIZARDMAN_COMMANDER = 21107; // Delu Lizardman Commander - - private static final Map MONSTERS = new HashMap<>(); - static - { - MONSTERS.put(21102, new ItemChanceHolder(WATCHING_EYES, 0.500)); // Watchman of the Plains - MONSTERS.put(21106, new ItemChanceHolder(WATCHING_EYES, 0.630)); // Cursed Seer - MONSTERS.put(21103, new ItemChanceHolder(ROUGHLY_HEWN_ROCK_GOLEM_SHARD, 0.520)); // Roughly Hewn Rock Golem - MONSTERS.put(20781, new ItemChanceHolder(DELU_LIZARDMANS_SCALE, 0.650)); // Delu Lizardman Shaman - MONSTERS.put(21104, new ItemChanceHolder(DELU_LIZARDMANS_SCALE, 0.650)); // Delu Lizardman Supplier - MONSTERS.put(21105, new ItemChanceHolder(DELU_LIZARDMANS_SCALE, 0.750)); // Delu Lizardman Special Agent - } - - public Q00660_AidingTheFloranVillage() - { - super(660, Q00660_AidingTheFloranVillage.class.getSimpleName(), "Aiding the Floran Village"); - addStartNpc(MARIA, ALEX); - addTalkId(MARIA, ALEX); - addKillId(MONSTERS.keySet()); - addKillId(DELU_LIZARDMAN_COMMANDER); - registerQuestItems(WATCHING_EYES, ROUGHLY_HEWN_ROCK_GOLEM_SHARD, DELU_LIZARDMANS_SCALE); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - if (qs == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "30608-06.htm": - { - if (player.getLevel() >= MIN_LEVEL) - { - qs.startQuest(); - htmltext = event; - } - else - { - htmltext = "30608-06a.htm"; - } - break; - } - case "30608-02.htm": - case "30608-03.html": - case "30291-07.html": - case "30291-09.html": - case "30291-10.html": - case "30291-14.html": - case "30291-18.html": - { - htmltext = event; - break; - } - case "30291-03.htm": - { - if (player.getLevel() >= MIN_LEVEL) - { - if (qs.isCreated()) - { - qs.setState(State.STARTED); - qs.setCond(2); - playSound(player, QuestSound.ITEMSOUND_QUEST_ACCEPT); - } - htmltext = event; - } - else - { - htmltext = "30291-02.htm"; - } - break; - } - case "30291-06.html": - { - final long itemCount = getQuestItemsCount(player, WATCHING_EYES) + getQuestItemsCount(player, ROUGHLY_HEWN_ROCK_GOLEM_SHARD) + getQuestItemsCount(player, DELU_LIZARDMANS_SCALE); - if (itemCount > 0) - { - giveAdena(player, itemCount * 100, true); - takeItems(player, -1, WATCHING_EYES, ROUGHLY_HEWN_ROCK_GOLEM_SHARD, DELU_LIZARDMANS_SCALE); - htmltext = event; - } - else - { - htmltext = "30291-08.html"; - } - break; - } - case "30291-08a.html": - { - qs.exitQuest(true, true); - takeItems(player, -1, WATCHING_EYES, ROUGHLY_HEWN_ROCK_GOLEM_SHARD, DELU_LIZARDMANS_SCALE); - htmltext = event; - break; - } - case "30291-12.html": - { - final long itemCount1 = getQuestItemsCount(player, WATCHING_EYES); - final long itemCount2 = getQuestItemsCount(player, ROUGHLY_HEWN_ROCK_GOLEM_SHARD); - final long itemCount3 = getQuestItemsCount(player, DELU_LIZARDMANS_SCALE); - final long itemCount = itemCount1 + itemCount2 + itemCount3; - if (itemCount < 100) - { - htmltext = "30291-11.html"; - } - else - { - tradeItems(player, 100, itemCount1, itemCount2, itemCount3); - - if (getRandom(99) > 50) - { - giveItems(player, SCROLL_ENCHANT_ARMOR_D_GRADE, 1); - giveAdena(player, ADENA_REWARD_1, true); - htmltext = event; - } - else - { - giveAdena(player, ADENA_REWARD_2, true); - htmltext = "30291-13.html"; - } - } - break; - } - case "30291-16.html": - { - final long itemCount1 = getQuestItemsCount(player, WATCHING_EYES); - final long itemCount2 = getQuestItemsCount(player, ROUGHLY_HEWN_ROCK_GOLEM_SHARD); - final long itemCount3 = getQuestItemsCount(player, DELU_LIZARDMANS_SCALE); - final long itemCount = itemCount1 + itemCount2 + itemCount3; - if (itemCount < 200) - { - htmltext = "30291-15.html"; - } - else - { - tradeItems(player, 200, itemCount1, itemCount2, itemCount3); - - if (getRandom(100) >= 50) - { - if (getRandom(2) == 0) - { - giveItems(player, SCROLL_ENCHANT_ARMOR_D_GRADE, 1); - giveAdena(player, ADENA_REWARD_3, true); - } - else - { - giveItems(player, SCROLL_ENCHANT_WEAPON_D_GRADE, 1); - } - htmltext = event; - } - else - { - giveAdena(player, ADENA_REWARD_4, true); - htmltext = "30291-17.html"; - } - } - break; - } - case "30291-20.html": - { - final long itemCount1 = getQuestItemsCount(player, WATCHING_EYES); - final long itemCount2 = getQuestItemsCount(player, ROUGHLY_HEWN_ROCK_GOLEM_SHARD); - final long itemCount3 = getQuestItemsCount(player, DELU_LIZARDMANS_SCALE); - final long itemCount = itemCount1 + itemCount2 + itemCount3; - if (itemCount < 500) - { - htmltext = "30291-19.html"; - } - else - { - tradeItems(player, 500, itemCount1, itemCount2, itemCount3); - - if (getRandom(100) >= 50) - { - giveItems(player, SCROLL_ENCHANT_ARMOR_D_GRADE, 1); - giveAdena(player, ADENA_REWARD_5, true); - htmltext = event; - } - else - { - giveAdena(player, ADENA_REWARD_6, true); - htmltext = "30291-21.html"; - } - } - break; - } - case "30291-22.html": - { - final long itemCount = getQuestItemsCount(player, WATCHING_EYES) + getQuestItemsCount(player, ROUGHLY_HEWN_ROCK_GOLEM_SHARD) + getQuestItemsCount(player, DELU_LIZARDMANS_SCALE); - if (itemCount <= 0) - { - htmltext = "30291-23.html"; - } - else - { - giveAdena(player, itemCount * 100, true); - htmltext = event; - } - - takeItems(player, -1, WATCHING_EYES, ROUGHLY_HEWN_ROCK_GOLEM_SHARD, DELU_LIZARDMANS_SCALE); - qs.exitQuest(true, true); - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(player, 2, 2, npc); - if (qs != null) - { - final ItemChanceHolder item = MONSTERS.get(npc.getId()); - if (item != null) - { - giveItemRandomly(player, npc, item.getId(), item.getCount(), 0, item.getChance(), true); - } - else - { - if (getRandom(100) < DELU_LIZARDMAN_COMMANDER_DOUBLE_ITEM_CHANCE) - { - giveItems(player, DELU_LIZARDMANS_SCALE, 2); - } - else - { - giveItems(player, DELU_LIZARDMANS_SCALE, 1); - } - playSound(player, QuestSound.ITEMSOUND_QUEST_MIDDLE); - } - } - return super.onKill(npc, player, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, true); - String htmltext = getNoQuestMsg(player); - if (qs == null) - { - return htmltext; - } - - if (qs.isCreated()) - { - switch (npc.getId()) - { - case MARIA: - { - htmltext = player.getLevel() >= MIN_LEVEL ? "30608-01.htm" : "30608-04.html"; - break; - } - case ALEX: - { - htmltext = player.getLevel() >= MIN_LEVEL ? "30291-01.htm" : "30291-02.htm"; - break; - } - } - } - else if (qs.isStarted()) - { - switch (npc.getId()) - { - case MARIA: - { - htmltext = "30608-05.html"; - break; - } - case ALEX: - { - switch (qs.getCond()) - { - case 1: - { - // Quest started with Maria. - qs.setCond(2, true); - htmltext = "30291-04.html"; - break; - } - case 2: - { - htmltext = "30291-05.html"; - break; - } - } - break; - } - } - } - return htmltext; - } - - private static final void tradeItems(L2PcInstance player, long required, long itemCount1, long itemCount2, long itemCount3) - { - if (itemCount1 < required) - { - takeItems(player, WATCHING_EYES, itemCount1); - required -= itemCount1; - } - else - { - takeItems(player, WATCHING_EYES, required); - required = 0; - } - - if (itemCount2 < required) - { - takeItems(player, ROUGHLY_HEWN_ROCK_GOLEM_SHARD, itemCount2); - required -= itemCount2; - } - else - { - takeItems(player, ROUGHLY_HEWN_ROCK_GOLEM_SHARD, required); - required = 0; - } - - if (itemCount3 < required) - { - takeItems(player, DELU_LIZARDMANS_SCALE, itemCount3); - } - else - { - takeItems(player, DELU_LIZARDMANS_SCALE, required); - } - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-01.htm b/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-01.htm deleted file mode 100644 index 3ebd6c6e78..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-01.htm +++ /dev/null @@ -1,8 +0,0 @@ -Warehouse Keeper Norman:
-We of the Iron Gate Guild are currently participating in various reconstruction works to restore Gludio Territory from the devastation of war...
-We've obtained permission from the Lord to start a construction project in this area.
-We've been having problems with monsters rampaging through the Fellmere Harvesting Grounds that produce our construction materials, so we're not making much progress...
-Other factors have led to a shortage of resources in the manor. The Lord is seeking adventurers to help us solve this problem...
-Will you help us rebuild Gludio Territory?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-02.htm b/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-02.htm deleted file mode 100644 index f49212476e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-02.htm +++ /dev/null @@ -1,8 +0,0 @@ -Warehouse Keeper Norman:
-Our guild, The Iron Gate, is involved with various reconstruction efforts to restore Gludio Territory from the devastation of war.
-We've gotten the Lord's permission to begin reconstruction in this area...
-But monsters have begun appearing in the Fellmere Harvesting Grounds where we get many of our important construction materials...
-Other factors have led to a shortage of resources in the manor. The Lord is seeking adventurer's help.
-When you have enough power, we could use your help!
-(Only characters level 21 or above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-03.htm b/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-03.htm deleted file mode 100644 index 526d082474..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-03.htm +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Keeper Norman:
-Excellent! Go to the Fellmere Harvesting Grounds and defeat the Giant Poison Bee, Cloudy Beast and Young Araneid that are impeding our work. And don't forget to bring me proof of your kills... Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-04.html b/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-04.html deleted file mode 100644 index ba65e151bc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Warehouse Keeper Norman:
-Oh, you're back so soon? The Lord wants the reconstruction effort started as soon as possible... We really need your help! Cam you prove that you're valuable enough for the reconstruction effort?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-05.html b/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-05.html deleted file mode 100644 index e4323b8e71..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Keeper Norman:
-Oh, how was it? The Lord wants us to proceed with the reconstruction project as soon as possible... We must have your help! Go to the Fellmere Harvesting Grounds quickly and bring me the evidence that you eliminated those nasty, vile monsters. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-06.html b/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-06.html deleted file mode 100644 index 9301349619..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Keeper Norman:
-Thank you! We'll engrave your name on the cornerstone of a building when we begin the reconstruction! Go to the Fellmere Harvesting Grounds quickly and bring me the evidence that you've eliminated those monsters. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-07.html b/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-07.html deleted file mode 100644 index 9e732a5bea..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Keeper Norman:
-Oh, how was it? The Lord wants us to proceed with the reconstruction project as soon as possible... We must have your help! Go to the Fellmere Harvesting Grounds quickly and bring me the evidence that you eliminated those monsters. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-08.html b/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-08.html deleted file mode 100644 index 1139945fff..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-08.html +++ /dev/null @@ -1,5 +0,0 @@ -Warehouse Keeper Norman:
-Here is the reward for your hard work... The reward is provided by the Iron Gate Guild and the Gludio Territory Reconstruction Fund... What! It's not enough? Then kill some more monsters and bring me the proofs!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-09.html b/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-09.html deleted file mode 100644 index bc7da61987..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/30210-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Warehouse Keeper Norman:
-Hmmm, perhaps you have a better source for making Adena... Or are you just going on to more exciting adventures? Please remember us, the Iron Gate Guild that strives to reconstruct Gludio Territory. Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/Q00661_MakingTheHarvestGroundsSafe.java b/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/Q00661_MakingTheHarvestGroundsSafe.java deleted file mode 100644 index 39358e4a3d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00661_MakingTheHarvestGroundsSafe/Q00661_MakingTheHarvestGroundsSafe.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00661_MakingTheHarvestGroundsSafe; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemChanceHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Making the Harvest Grounds Safe (661) - * @author Pandragon - */ -public final class Q00661_MakingTheHarvestGroundsSafe extends Quest -{ - // NPC - private static final int NORMAN = 30210; - // Items - private static final int BIG_HORNET_STING = 8283; - private static final int CLOUD_GEM = 8284; - private static final int YOUNG_ARANEID_CLAW = 8285; - // Monsters - private final Map MONSTER_CHANCES = new HashMap<>(); - { - MONSTER_CHANCES.put(21095, new ItemChanceHolder(BIG_HORNET_STING, 0.508)); // Giant Poison Bee - MONSTER_CHANCES.put(21096, new ItemChanceHolder(CLOUD_GEM, 0.5)); // Cloudy Beast - MONSTER_CHANCES.put(21097, new ItemChanceHolder(YOUNG_ARANEID_CLAW, 0.516)); // Young Araneid - } - // Misc - private static final int MIN_LVL = 21; - - public Q00661_MakingTheHarvestGroundsSafe() - { - super(661, Q00661_MakingTheHarvestGroundsSafe.class.getSimpleName(), "Making the Harvest Grounds Safe"); - addStartNpc(NORMAN); - addTalkId(NORMAN); - addKillId(MONSTER_CHANCES.keySet()); - registerQuestItems(BIG_HORNET_STING, CLOUD_GEM, YOUNG_ARANEID_CLAW); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState qs = getQuestState(player, false); - String htmltext = null; - if (qs == null) - { - return htmltext; - } - - switch (event) - { - case "30210-01.htm": - case "30210-02.htm": - case "30210-04.html": - case "30210-06.html": - { - htmltext = event; - break; - } - case "30210-03.htm": - { - if (qs.isCreated()) - { - qs.startQuest(); - htmltext = event; - } - break; - } - case "30210-08.html": - { - long stingCount = getQuestItemsCount(player, BIG_HORNET_STING); - long gemCount = getQuestItemsCount(player, CLOUD_GEM); - long clawCount = getQuestItemsCount(player, YOUNG_ARANEID_CLAW); - long reward = (57 * stingCount) + (56 * gemCount) + (60 * clawCount); - if ((stingCount + gemCount + clawCount) >= 10) - { - reward += 5773; - } - takeItems(player, BIG_HORNET_STING, -1); - takeItems(player, CLOUD_GEM, -1); - takeItems(player, YOUNG_ARANEID_CLAW, -1); - giveAdena(player, reward, true); - htmltext = event; - break; - } - case "30210-09.html": - { - qs.exitQuest(true, true); - htmltext = event; - break; - } - } - return htmltext; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance talker) - { - final QuestState qs = getQuestState(talker, true); - String htmltext = getNoQuestMsg(talker); - switch (qs.getState()) - { - case State.CREATED: - { - htmltext = (talker.getLevel() >= MIN_LVL) ? "30210-01.htm" : "30210-02.htm"; - break; - } - case State.STARTED: - { - if (hasQuestItems(talker, BIG_HORNET_STING, CLOUD_GEM, YOUNG_ARANEID_CLAW)) - { - htmltext = "30210-04.html"; - } - else - { - htmltext = "30210-05.html"; - } - break; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - final QuestState qs = getRandomPartyMemberState(killer, -1, 3, npc); - if (qs != null) - { - final ItemChanceHolder item = MONSTER_CHANCES.get(npc.getId()); - giveItemRandomly(qs.getPlayer(), npc, item.getId(), item.getCount(), 0, item.getChance(), true); - } - return super.onKill(npc, killer, isSummon); - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-01.htm b/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-01.htm deleted file mode 100644 index dacb81609a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Jude:
-It is rumored that somewhere in the Steel Citadel is a place where very powerful monsters are created. Amazing, isn't it? To think that someone is actually creating monsters...
-I must admit that while I'm not particularly interested in what goes on in the Steel Citadel, some of the Evil Weaponry I've seen from there was of really excellent quality. In fact, it would be difficult to find its equal anywhere in Aden. If I could study these weapons and learn how to augment them, I could make a fortune!
-Will you get me some of the weapons? I'll pay you handsomely...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-02.htm b/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-02.htm deleted file mode 100644 index 64c7ba7b6e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -Jude:
-It is rumored that somewhere in the Steel Citadel is a place where very powerful monsters are created. Amazing, isn't it? To think that someone is actually creating monsters...
-I must admit that while I'm not particularly interested in what goes on in the Steel Citadel, some of the Evil Weaponry I've seen from there was of really excellent quality. In fact, it would be difficult to find its equal anywhere in Aden. If I could study these weapons and learn how to augment them, I could make a fortune!
-I'd ask for your help, but I don't think you are strong enough to help me.
-(Only characters level 78 and above are permitted to undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-03.htm b/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-03.htm deleted file mode 100644 index 05aa98ab05..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Jude:
-Bear in mind that what I'm looking for are not run-of-the-mill weapons carried by common monsters within the Steel Citadel. No, I need weapons from the Lesser Evils and Greater Evils that are found in Monster Foundry. Other Evil Weapons are useless! Understand?
-Bring me 200 Evil Weapons and I'll give you the S80 Grade weapon recipe in exchange. Or I can give you 3 S80 Grade weapon pieces for every 5 Evil Weapons you bring me. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-04.htm b/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-04.htm deleted file mode 100644 index 448f269b57..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-04.htm +++ /dev/null @@ -1,7 +0,0 @@ -Jude:
-Ah, these weapons are exquisite! I see that you brought me 200 weapons, just as you promised. You can exchange these 200 Evil Weapons for the S80 Grade weapon recipe, or if you prefer, I can give you 3 weapon pieces for every 5 Evil Weapons you have.
-What is your preference?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-05.htm b/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-05.htm deleted file mode 100644 index a3af6530ff..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-05.htm +++ /dev/null @@ -1,6 +0,0 @@ -Jude:
-Ah! By my count, you have collected less than 200 Evil Weapons. You can obtain more from the Lesser Evils and Greater Evils in the Monster Foundry. Do your best! If you collect 200 Evil Weapons, I will exchange them for the S80 Grade weapon recipe. If you prefer, I can also exchange 5 Evil Weapons for 3 S80 Grade weapon pieces right now.
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-05a.htm b/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-05a.htm deleted file mode 100644 index f91b19d232..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-05a.htm +++ /dev/null @@ -1,6 +0,0 @@ -Jude:
-You still don't have 5 Evil Weapons. You can obtain more from the Lesser Evils and Greater Evils in the Monster Foundry. Do your best! If you collect 200 Evil Weapons, I will exchange them for the S80 Grade weapon recipe. If you prefer, I can also exchange 5 Evil Weapons for 3 S80 Grade weapon pieces.
-Do you want to continue?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-06.htm b/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-06.htm deleted file mode 100644 index fc099749be..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-06.htm +++ /dev/null @@ -1,3 +0,0 @@ -Jude:
-Yes, I think you are capable of collecting the weapons. You can obtain the Evil Weapons from both the Lesser Evils and the Greater Evils in the Monster Foundry. Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-07.htm b/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-07.htm deleted file mode 100644 index 1860d77b3e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-07.htm +++ /dev/null @@ -1,4 +0,0 @@ -Jude:
-Well! Here it is.
-Do you like it? I doubt I will make a profit on this, after all. But your hard work deserves a reward. Here is the S80 Grade weapon recipe. Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-07a.htm b/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-07a.htm deleted file mode 100644 index 4829cbc58d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-07a.htm +++ /dev/null @@ -1,4 +0,0 @@ -Jude:
-You don't have enough Evil Weapons to get the S80 Grade weapon recipe. Bring me 200 Evil Weapons and I will exchange them for the S80 Grade weapon recipe.
-Keep at it! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-08.htm b/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-08.htm deleted file mode 100644 index 27e801356b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-08.htm +++ /dev/null @@ -1,3 +0,0 @@ -Jude:
-Ready to quit? Well, come back any time if you change your mind. You can always find me here, you know! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-09.htm b/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-09.htm deleted file mode 100644 index f2b29a7e56..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-09.htm +++ /dev/null @@ -1,4 +0,0 @@ -Jude:
-Well! Here you are.
-And here are the S80 Grade weapon pieces as promised. Take them! If you collect more Evil Weapons, I'll be happy to provide you with the S80 Grade weapon recipe. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-09a.htm b/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-09a.htm deleted file mode 100644 index 36a1251109..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/32356-09a.htm +++ /dev/null @@ -1,4 +0,0 @@ -Jude:
-You don't have enough Evil Weapons to get the S80 Grade weapon pieces I promised you. Bring me 5 Evil Weapons and I will give you 3 S80 Grade weapon pieces.
-Get back to work! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/Q00690_JudesRequest.java b/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/Q00690_JudesRequest.java deleted file mode 100644 index 97cd8d4b27..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00690_JudesRequest/Q00690_JudesRequest.java +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00690_JudesRequest; - -import com.l2jserver.Config; -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Jude's Request (690) - * @author malyelfik - */ -public class Q00690_JudesRequest extends Quest -{ - // NPCs - private static final int JUDE = 32356; - private static final int LESSER_EVIL = 22398; - private static final int GREATER_EVIL = 22399; - // Items - private static final int EVIL_WEAPON = 10327; - private static final int[][] REWARDS = - { - { - 10373, - 10374, - 10375, - 10376, - 10377, - 10378, - 10379, - 10380, - 10381 - }, - { - 10397, - 10398, - 10399, - 10400, - 10401, - 10402, - 10403, - 10404, - 10405 - } - }; - - public Q00690_JudesRequest() - { - super(690, Q00690_JudesRequest.class.getSimpleName(), "Jude's Request"); - addStartNpc(JUDE); - addTalkId(JUDE); - addKillId(LESSER_EVIL, GREATER_EVIL); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - String htmltext = event; - QuestState st = getQuestState(player, false); - - if (st == null) - { - return getNoQuestMsg(player); - } - - if (event.equalsIgnoreCase("32356-03.htm")) - { - st.startQuest(); - } - else if (event.equalsIgnoreCase("32356-07.htm")) - { - if (st.getQuestItemsCount(EVIL_WEAPON) >= 200) - { - st.giveItems(REWARDS[0][getRandom(REWARDS[0].length)], 1); - st.takeItems(EVIL_WEAPON, 200); - st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); - htmltext = "32356-07.htm"; - } - else - { - htmltext = "32356-07a.htm"; - } - } - else if (event.equalsIgnoreCase("32356-08.htm")) - { - st.takeItems(EVIL_WEAPON, -1); - st.exitQuest(true, true); - } - else if (event.equalsIgnoreCase("32356-09.htm")) - { - if (st.getQuestItemsCount(EVIL_WEAPON) >= 5) - { - st.giveItems(REWARDS[1][getRandom(REWARDS[1].length)], 1); - st.takeItems(EVIL_WEAPON, 5); - st.playSound(QuestSound.ITEMSOUND_QUEST_MIDDLE); - htmltext = "32356-09.htm"; - } - else - { - htmltext = "32356-09a.htm"; - } - } - return htmltext; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - L2PcInstance partyMember = getRandomPartyMember(player, 1); - if (partyMember == null) - { - return null; - } - final QuestState st = getQuestState(partyMember, false); - - final int npcId = npc.getId(); - int chance = 0; - if (npcId == LESSER_EVIL) - { - chance = 173; - } - else if (npcId == GREATER_EVIL) - { - chance = 246; - } - // Apply the quest drop rate: - chance *= Config.RATE_QUEST_DROP; - // Normalize - chance %= 1000; - - if (getRandom(1000) <= chance) - { - st.giveItems(EVIL_WEAPON, Math.max(chance / 1000, 1)); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - return null; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - if (player.getLevel() >= 78) - { - htmltext = "32356-01.htm"; - } - else - { - htmltext = "32356-02.htm"; - } - break; - case State.STARTED: - if (st.getQuestItemsCount(EVIL_WEAPON) >= 200) - { - htmltext = "32356-04.htm"; - } - else if (st.getQuestItemsCount(EVIL_WEAPON) < 5) - { - htmltext = "32356-05a.htm"; - } - else - { - htmltext = "32356-05.htm"; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-01.htm b/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-01.htm deleted file mode 100644 index 818aee7c8b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Matras:
-Welcome, traveler! Would you be interested in a job, by any chance?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-02.htm b/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-02.htm deleted file mode 100644 index 6a442f3f2b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Matras:
-I must go up to the tower of the Steel Citadel, but to do so requires passing Bate Tower. The guards there refused to let me enter. -That's why I need your help...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-03.html b/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-03.html deleted file mode 100644 index 2150301217..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Matras:
-I am desperate for help, true, but still not so foolish as to engage someone of your obvious inexperience. Come back to me when you are a little more seasoned!
-(Only characters level 76 and above are permitted to undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-04.htm b/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-04.htm deleted file mode 100644 index 14a5d89d23..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-04.htm +++ /dev/null @@ -1,6 +0,0 @@ -Matras:
-All you have to do is simply draw their attention and I will take care of the rest. Although now that I think it through, it would be even better if you could, uh, get rid of them.
-Do so and bring me the Red Stones that they carry. No questions! I told you I would reward you well for your trouble. In fact, if you bring 744 Red Stones, I'll give you something very special. Understand? Good -- we're agreed!
-Remember, all you have to do is to get rid of whoever you find on the first and second floors of the tower. -Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-05.html b/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-05.html deleted file mode 100644 index 5b7c642331..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Matras:
-Thanks to your help, it has definitely already become easier for me to go in and out. You did well, my friend. Now, do you have the Red Stones I asked for?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-06.html b/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-06.html deleted file mode 100644 index 1af1e07d85..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Matras:
-Go do what I asked of you: get rid of the tower guards and bring me the Red Stones they carry. Hurry! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-07.html b/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-07.html deleted file mode 100644 index ed436d5727..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-07.html +++ /dev/null @@ -1,6 +0,0 @@ -Matras:
-Ah, I see that you've brought me %itemcount% Red Stones. What sort of reward would you like?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-08.html b/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-08.html deleted file mode 100644 index 5166cb7a99..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-08.html +++ /dev/null @@ -1,6 +0,0 @@ -Matras:
-You have brought %itemcount% Red Stones. I wish it were more, but it looks like you have worked hard to get these. What do you want me to do with these?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-09.html b/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-09.html deleted file mode 100644 index 20a3e134aa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Matras:
-Here you go. I hope this will help you in your travels. Take care! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-10.html b/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-10.html deleted file mode 100644 index 4a16bae2e8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Matras:
-Look, I've told you many times that I need 744 Red Stones. However, you've given me only %itemcount% so far. Go get some more if you expect me to reward you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-11.html b/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-11.html deleted file mode 100644 index a37d3eaa50..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-11.html +++ /dev/null @@ -1,3 +0,0 @@ -Matras:
-Thank you! I will not forget your help. Allow me to compensate you for your excellent work. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-12.html b/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-12.html deleted file mode 100644 index 07a32fc2dc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/32245-12.html +++ /dev/null @@ -1,3 +0,0 @@ -Matras:
-Good work! If I need your services again, I won't hesitate to call on you. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java b/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java deleted file mode 100644 index a645735c4e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00691_MatrasSuspiciousRequest; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.Config; -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Matras' Suspicious Request (691) - * @author GKR - */ -public final class Q00691_MatrasSuspiciousRequest extends Quest -{ - // NPC - private static final int MATRAS = 32245; - // Items - private static final int RED_GEM = 10372; - private static final int DYNASTY_SOUL_II = 10413; - // Reward - private static final Map REWARD_CHANCES = new HashMap<>(); - static - { - REWARD_CHANCES.put(22363, 890); - REWARD_CHANCES.put(22364, 261); - REWARD_CHANCES.put(22365, 560); - REWARD_CHANCES.put(22366, 560); - REWARD_CHANCES.put(22367, 190); - REWARD_CHANCES.put(22368, 129); - REWARD_CHANCES.put(22369, 210); - REWARD_CHANCES.put(22370, 787); - REWARD_CHANCES.put(22371, 257); - REWARD_CHANCES.put(22372, 656); - } - // Misc - private static final int MIN_LEVEL = 76; - - public Q00691_MatrasSuspiciousRequest() - { - super(691, Q00691_MatrasSuspiciousRequest.class.getSimpleName(), "Matras' Suspicious Request"); - addStartNpc(MATRAS); - addTalkId(MATRAS); - addKillId(REWARD_CHANCES.keySet()); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return null; - } - - String htmltext = null; - switch (event) - { - case "32245-02.htm": - case "32245-11.html": - htmltext = event; - break; - case "32245-04.htm": - st.startQuest(); - htmltext = event; - break; - case "take_reward": - if (st.isStarted()) - { - final int gemsCount = st.getInt("submitted_gems"); - if (gemsCount >= 744) - { - st.set("submitted_gems", Integer.toString(gemsCount - 744)); - st.giveItems(DYNASTY_SOUL_II, 1); - htmltext = "32245-09.html"; - } - else - { - htmltext = getHtm(player.getHtmlPrefix(), "32245-10.html").replace("%itemcount%", st.get("submitted_gems")); - } - } - break; - case "32245-08.html": - if (st.isStarted()) - { - final int submittedCount = st.getInt("submitted_gems"); - final int broughtCount = (int) st.getQuestItemsCount(RED_GEM); - final int finalCount = submittedCount + broughtCount; - st.takeItems(RED_GEM, broughtCount); - st.set("submitted_gems", Integer.toString(finalCount)); - htmltext = getHtm(player.getHtmlPrefix(), "32245-08.html").replace("%itemcount%", Integer.toString(finalCount)); - } - break; - case "32245-12.html": - if (st.isStarted()) - { - st.giveAdena((st.getInt("submitted_gems") * 10000), true); - st.exitQuest(true, true); - htmltext = event; - } - break; - } - return htmltext; - } - - @Override - public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final L2PcInstance pl = getRandomPartyMember(player, 1); - if (pl == null) - { - return super.onKill(npc, player, isSummon); - } - - final QuestState st = getQuestState(pl, false); - int chance = (int) (Config.RATE_QUEST_DROP * REWARD_CHANCES.get(npc.getId())); - int numItems = Math.max((chance / 1000), 1); - chance = chance % 1000; - if (getRandom(1000) <= chance) - { - st.giveItems(RED_GEM, numItems); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - return super.onKill(npc, player, isSummon); - } - - @Override - public final String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() >= MIN_LEVEL) ? "32245-01.htm" : "32245-03.html"; - break; - case State.STARTED: - if (st.hasQuestItems(RED_GEM)) - { - htmltext = "32245-05.html"; - } - else if (st.getInt("submitted_gems") > 0) - { - htmltext = getHtm(player.getHtmlPrefix(), "32245-07.html").replace("%itemcount%", st.get("submitted_gems")); - } - else - { - htmltext = "32245-06.html"; - } - break; - } - return htmltext; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-00.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-00.htm deleted file mode 100644 index 2deff00fe5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-00.htm +++ /dev/null @@ -1,6 +0,0 @@ -Dilios:
-I don't know how a stranger like you happened to come here, but this is a very different place than Aden. Here the only law is power.
-Gracia was originally a barren land, and the sudden appearance of monsters has made survival even tougher. The weak do not last long, and many envy the dead -- at least they are at peace.
-If you've come here only to sightsee, you had better leave as fast as you can!
-(Only characters who are level 75 or above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-01.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-01.htm deleted file mode 100644 index 2b36a15ce5..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Dilios:
-I don't know how a stranger like you happened to come here, but this is a very different place than Aden. Here the only law is power.
-Gracia was originally a barren land, and the sudden appearance of monsters has made survival even tougher. The weak do not last long, and many envy the dead -- at least they are at peace.
-But if have strength, courage and luck, you may forge a different path for yourself. Such individuals are rare, unfortunately. If you think you are one, I have a very important mission for you.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-02.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-02.htm deleted file mode 100644 index 79daa8347d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Dilios:
-I hope you mean what you said. If not, you will regret it.
-So I will ask you one more time. Are you ready for this trial?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-03.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-03.htm deleted file mode 100644 index 438951c9ed..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-03.htm +++ /dev/null @@ -1,4 +0,0 @@ -Dilios:
-Then you must acquire the Aerial Transformed Object. Go see Engineer Lekon at Kucereus' clan outpost and obtain Lekon's Certificate from him. If you can do this, you will have proven that you belong in this harsh land.
-There is no time to waste. Hurry! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-04.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-04.htm deleted file mode 100644 index 3e8858f4fc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-04.htm +++ /dev/null @@ -1,6 +0,0 @@ -Dilios:
-Hmm... Although I can't read this scribble, it must be Lekon's Certificate. You managed to acquire the Aerial Transformed Object, eh? Now you are ready for a full-scale mission.
-Let me ask you a question. What do you think is the best methode to fight evil? There are many opinions, of course. But I think the best answer is to use that evil against itself.
-When evil suddenly appeared in Gracia, we were curious about the source of that power. We studied it as best as we could. As a result, we learned to make weapons, shileds and many other useful battle tools using that evil spirit.
-Unfortunately, it requires a huge sacrifice to obtain the necessary materials. You can only get them, in fact, by killing those evil creatures. I wish I could explain in greater detail, but I'm just a simple soldier. If you wish to speak with an expert in such matters, speak with Special Products Broker Kutran at Kucereus' clan outpost. He will be able to tell you more. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-05.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-05.htm deleted file mode 100644 index 0ed8243567..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32549-05.htm +++ /dev/null @@ -1,4 +0,0 @@ -Dilios:
-A method to fight evil with evil... I wish I could explain it better, but there are many aspects a simple soldier like me just doesn't fully understand.
-Special Products Broker Kutran at Kucereus' clan outpost is a specialist in this field, however. Go visit him. He will tell you more. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-01.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-01.htm deleted file mode 100644 index a3f7b90ced..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-01.htm +++ /dev/null @@ -1,7 +0,0 @@ -Kutran:
-Would you like to know about the Special Seed Products? They are a type of crystal that contains each Seed's power and characteristics: the source of the evil power that has reduced Gracia to this pitiful state.
-Despite the danger, however, there is no doubt that this same energy could greatly strengthen weapons and armor if we could infuse them with it. As Dilios has said, we must fight fire with fire, evil with evil.
-It took me a long time, but I finally succeeded. The resulting weapons and armor are far more powerful than any I have seen before.
-I call these crystals Special Seed Products and am ready to trade them to courageous adventurers. In fact, you can't afford not to have them.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-02.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-02.htm deleted file mode 100644 index 99f5ffb147..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-02.htm +++ /dev/null @@ -1,7 +0,0 @@ -Kutran:
-These Special Seed Products may give us the edge we need to defeat our enemies.
-If you acquire the materials we need from the monsters of each Seed, I can process them. Then I'll exchange them for Special Seed Products.
-You passed Dilis' test, so I suppose I can tell you exchange list:
-5 Nuclei of an Incomplete Soul from the Seed of Immortality can be exchanged for 1 Nucleus of a Freed Soul, 5 Mounted Troop Totems from the Seed of Destruction can be exchanged for 1 Mounted Troop Charm and 5 Spirit Stone Dust from the Seed of Annihilation can be exchanged for 1 Spirit Stone Fragment.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-03.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-03.htm deleted file mode 100644 index b030a3acbd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-03.htm +++ /dev/null @@ -1,9 +0,0 @@ -Kutran:
-You also need to know about the Seed Collection.
-There are specific periods available for collection depending upon each Seed's cycle. Since what you collect can usually be used as ingredients in my work, I'll give you Adena when you gather and bring any of the following:
-Fragment of Soul collected from the Seed of Immortality, the Breath of Tiat collected from the Seed of Destruction, and the Concentrated Spirit Energy collected from the Seed of Annihilation.
-They are useless to you, so an exchange will benefit us both.
-Do you understand?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-04.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-04.htm deleted file mode 100644 index d4c76d4e81..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-04.htm +++ /dev/null @@ -1,7 +0,0 @@ -Kutran:
-These exchanges can benefit both of us. Let me recap:
-5 Nuclei of an Incomplete Soul from the Seed of Immortality can be exchanged for 1 Nucleus of a Freed Soul, 5 Mounted Troop Totems from the Seed of Destruction can be exchanged for 1 Mounted Troop Charm, 5 Spirit Stone Dust from the Seed of Annihilation can be exchanged for 1 Spirit Stone Fragment.
-Regarding Seed collection,
-Fragment of Soul collected from the Seed of Immortality, the Breath of Tiat collected from the Seed of Destruction and the Concentrated Spirit Energy collected from the Seed of Annihilation can be exchanged for Adena.
-Is that clear? - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-05.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-05.htm deleted file mode 100644 index d4b16d9e94..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-05.htm +++ /dev/null @@ -1,7 +0,0 @@ -Kirklan:
-Well...what brings you here?
- - - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-06.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-06.htm deleted file mode 100644 index 625fc82afb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-06.htm +++ /dev/null @@ -1,6 +0,0 @@ -Kirklan:
-What do you want to exchange, Seed of Extermination's Special Seed Product or Seed Collection?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-07.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-07.htm deleted file mode 100644 index d0fd11cb11..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-07.htm +++ /dev/null @@ -1,6 +0,0 @@ -Kirklan:
-You did great! Here's the reward for Nuclei of an Incomplete Soul!
-Is there anything else?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-08.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-08.htm deleted file mode 100644 index dd1e25bde4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-08.htm +++ /dev/null @@ -1,3 +0,0 @@ -Kirklan:
-My impressive counting abilities reveal that you don't have enough. We can't make an exchange like this. In order to exchange Nucleus of a Freed Soul, you need 5 Nuclei of an Incomplete Soul. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-09.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-09.htm deleted file mode 100644 index a070239a19..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-09.htm +++ /dev/null @@ -1,6 +0,0 @@ -Kirklan:
-You did great! Here's the reward for Fragment of Soul!
-Is there anything else?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-10.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-10.htm deleted file mode 100644 index 1dbde4b3dc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-10.htm +++ /dev/null @@ -1,3 +0,0 @@ -Kirklan:
-Hmm, let's take a look... There's no Fragment of Soul? We can't make an exchange like this. We have standards. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-11.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-11.htm deleted file mode 100644 index 56925131f9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-11.htm +++ /dev/null @@ -1,6 +0,0 @@ -Kirklan:
-What do you want to exchange, Seed of Extermination's Special Seed Product or Seed Collection?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-12.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-12.htm deleted file mode 100644 index 81c1e67570..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-12.htm +++ /dev/null @@ -1,6 +0,0 @@ -Kirklan:
-You did great! Here's the reward for Mounted Troop Totems!
-Is there anything else?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-13.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-13.htm deleted file mode 100644 index f4ed779c63..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-13.htm +++ /dev/null @@ -1,3 +0,0 @@ -Kirklan:
-My impressive counting abilities reveal that you don't have enough. We can't make an exchange like this. In order to exchange Mounted Troop Charm, you need 5 Mounted Troop Totems. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-14.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-14.htm deleted file mode 100644 index 5d29a782fc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-14.htm +++ /dev/null @@ -1,6 +0,0 @@ -Kirklan:
-You did great! Here's the reward for Breath of Tiat!
-Is there anything else?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-15.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-15.htm deleted file mode 100644 index ebef7688e8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-15.htm +++ /dev/null @@ -1,3 +0,0 @@ -Kirklan:
-Hmm, let's take a look... There's no Breath of Tiat? We can't make an exchange like this. We have standards. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-16.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-16.htm deleted file mode 100644 index 5f7b44de22..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-16.htm +++ /dev/null @@ -1,6 +0,0 @@ -Kirklan:
-What do you want to exchange, Seed of Extermination's Special Seed Product or Seed Collection?
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-17.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-17.htm deleted file mode 100644 index a6a80bec83..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-17.htm +++ /dev/null @@ -1,6 +0,0 @@ -Kirklan:
-You did great! Here's the reward for Powders of Fragment of Soul Stone!
-Is there anything else?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-18.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-18.htm deleted file mode 100644 index 428d9f8a1e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-18.htm +++ /dev/null @@ -1,3 +0,0 @@ -Kirklan:
-My impressive counting abilities reveal that you don't have enough. We can't make an exchange like this. In order to exchange Fragment of Soul Stone, you need 5 Powders of Fragment of Soul Stone. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-19.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-19.htm deleted file mode 100644 index 20ef86625f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-19.htm +++ /dev/null @@ -1,6 +0,0 @@ -Kirklan:
-You did great! Here's the reward for Condensed Energy of Life!
-Is there anything else?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-20.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-20.htm deleted file mode 100644 index a68c32e245..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-20.htm +++ /dev/null @@ -1,3 +0,0 @@ -Kirklan:
-Hmm, let's take a look... There's no Condensed Energy of Life? We can't make an exchange like this. We have standards. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-21.htm b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-21.htm deleted file mode 100644 index 754375732f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/32550-21.htm +++ /dev/null @@ -1,3 +0,0 @@ -Kirklan:
-Remember, getting these items is good for both of us. You want to see me happy? Bring me a pocket full of what I told you to get, and I'll show you happy. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java b/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java deleted file mode 100644 index 4c7dd7adc3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q00692_HowtoOpposeEvil; - -import java.util.HashMap; -import java.util.Map; - -import com.l2jserver.Config; -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.holders.ItemHolder; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; - -/** - * How to Oppose Evil (692) - * @author Gigiikun - */ -public final class Q00692_HowtoOpposeEvil extends Quest -{ - private static final int DILIOS = 32549; - private static final int KIRKLAN = 32550; - private static final int LEKONS_CERTIFICATE = 13857; - private static final int[] QUEST_ITEMS = - { - 13863, - 13864, - 13865, - 13866, - 13867, - 15535, - 15536 - }; - - private static final Map QUEST_MOBS = new HashMap<>(); - static - { - // Seed of Infinity - QUEST_MOBS.put(22509, new ItemHolder(13863, 500)); - QUEST_MOBS.put(22510, new ItemHolder(13863, 500)); - QUEST_MOBS.put(22511, new ItemHolder(13863, 500)); - QUEST_MOBS.put(22512, new ItemHolder(13863, 500)); - QUEST_MOBS.put(22513, new ItemHolder(13863, 500)); - QUEST_MOBS.put(22514, new ItemHolder(13863, 500)); - QUEST_MOBS.put(22515, new ItemHolder(13863, 500)); - // Seed of Destruction - QUEST_MOBS.put(22537, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22538, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22539, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22540, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22541, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22542, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22543, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22544, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22546, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22547, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22548, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22549, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22550, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22551, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22552, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22593, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22596, new ItemHolder(13865, 250)); - QUEST_MOBS.put(22597, new ItemHolder(13865, 250)); - // Seed of Annihilation - QUEST_MOBS.put(22746, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22747, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22748, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22749, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22750, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22751, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22752, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22753, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22754, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22755, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22756, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22757, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22758, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22759, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22760, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22761, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22762, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22763, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22764, new ItemHolder(15536, 125)); - QUEST_MOBS.put(22765, new ItemHolder(15536, 125)); - } - - public Q00692_HowtoOpposeEvil() - { - super(692, Q00692_HowtoOpposeEvil.class.getSimpleName(), "How to Oppose Evil"); - addStartNpc(DILIOS); - addTalkId(DILIOS, KIRKLAN); - addKillId(QUEST_MOBS.keySet()); - } - - @Override - public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - if (event.equalsIgnoreCase("32549-03.htm")) - { - st.startQuest(); - } - else if (event.equalsIgnoreCase("32550-04.htm")) - { - st.setCond(3); - } - else if (event.equalsIgnoreCase("32550-07.htm")) - { - if (!giveReward(st, 13863, 5, 13796, 1)) - { - return "32550-08.htm"; - } - } - else if (event.equalsIgnoreCase("32550-09.htm")) - { - if (!giveReward(st, 13798, 1, 57, 5000)) - { - return "32550-10.htm"; - } - } - else if (event.equalsIgnoreCase("32550-12.htm")) - { - if (!giveReward(st, 13865, 5, 13841, 1)) - { - return "32550-13.htm"; - } - } - else if (event.equalsIgnoreCase("32550-14.htm")) - { - if (!giveReward(st, 13867, 1, 57, 5000)) - { - return "32550-15.htm"; - } - } - else if (event.equalsIgnoreCase("32550-17.htm")) - { - if (!giveReward(st, 15536, 5, 15486, 1)) - { - return "32550-18.htm"; - } - } - else if (event.equalsIgnoreCase("32550-19.htm")) - { - if (!giveReward(st, 15535, 1, 57, 5000)) - { - return "32550-20.htm"; - } - } - return event; - } - - @Override - public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final L2PcInstance partyMember = getRandomPartyMember(player, 3); - if (partyMember == null) - { - return null; - } - final QuestState st = getQuestState(partyMember, false); - final int npcId = npc.getId(); - if ((st != null) && QUEST_MOBS.containsKey(npcId)) - { - int chance = (int) (QUEST_MOBS.get(npcId).getCount() * Config.RATE_QUEST_DROP); - int numItems = chance / 1000; - chance = chance % 1000; - if (getRandom(1000) < chance) - { - numItems++; - } - if (numItems > 0) - { - st.giveItems(QUEST_MOBS.get(npcId).getId(), numItems); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - return null; - } - - @Override - public final String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - if (st.isCreated()) - { - htmltext = (player.getLevel() >= 75) ? "32549-01.htm" : "32549-00.htm"; - } - else - { - if (npc.getId() == DILIOS) - { - if (st.isCond(1) && st.hasQuestItems(LEKONS_CERTIFICATE)) - { - htmltext = "32549-04.htm"; - st.takeItems(LEKONS_CERTIFICATE, -1); - st.setCond(2); - } - else if (st.isCond(2)) - { - htmltext = "32549-05.htm"; - } - } - else - { - if (st.isCond(2)) - { - htmltext = "32550-01.htm"; - } - else if (st.isCond(3)) - { - for (int i : QUEST_ITEMS) - { - if (st.getQuestItemsCount(i) > 0) - { - return "32550-05.htm"; - } - } - htmltext = "32550-04.htm"; - } - } - } - return htmltext; - } - - private static final boolean giveReward(QuestState st, int itemId, int minCount, int rewardItemId, long rewardCount) - { - long count = st.getQuestItemsCount(itemId); - if (count < minCount) - { - return false; - } - - count = count / minCount; - st.takeItems(itemId, count * minCount); - st.rewardItems(rewardItemId, rewardCount * count); - return true; - } -} \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-00.html b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-00.html deleted file mode 100644 index ce24898fd9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-00.html +++ /dev/null @@ -1,5 +0,0 @@ -High Priest Orven:
-Do you know the tragedy that has befallen Gracia? The power of Shilen, the Goddess of Death, has manifested itself in the form of a Seed that has transformed the entire continent into a land of death. Despite the valiant efforts by a few lords and their warriors, most of Gracia is chaos and evil.
-Now we need brave adventurers more than ever. However, I'm afraid you are not yet ready for so great a trial. Perhaps in the future...
-(Only characters who are level 75 or higher may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-01.htm b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-01.htm deleted file mode 100644 index 18cd221c53..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-01.htm +++ /dev/null @@ -1,8 +0,0 @@ -High Priest Orven:
-Do you know the tragedy that has befallen Gracia? The power of Shilen, the Goddess of Death, has manifested itself in the form of a Seed that has transformed the entire continent into a land of death. Despite the valiant efforts by a few lords and their warriors, most of Gracia is chaos and evil.
-Do you know what this means? When Gracia has fallen completely into evil, Aden will be targeted next. Our leaders met in what is being called the Giran Assembly and decided we must face this threat as a unified group. The Kamael were finally welcomed into the alliance at that time.
-Now we need brave adventurers to fight this rising tide of darkness. Please help!
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-02.htm b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-02.htm deleted file mode 100644 index a1bccf571b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-02.htm +++ /dev/null @@ -1,6 +0,0 @@ -High Priest Orven:
-The story begins long ago, during the Elmoreden era. Emperor Shunaiman drove out all of Shilen's followers after years of hard fighting. Some of them found their way to Gracia. There they seemed to disappear from history for a while.
-Now we now they were actually infiltrating Gracian society and politics. Then they struck openly, taking advantage of the civil war between Karneia and Kserth after their father King Paris' failed invasion of Aden.
-Soon, Shilen's followers dominated Gracia. Clearly they had long prepared for this moment.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-03.htm b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-03.htm deleted file mode 100644 index 115e8a0923..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-03.htm +++ /dev/null @@ -1,7 +0,0 @@ -High Priest Orven:
-Finally, Shilen's followers used the dark ceremony they had originally intended for Aden on Gracia. They opened a door to the land of death: the Seed. Horrific monsters entered the land, further devastating it and its people.
-Now we must all unite against this threat. That's why need adventurers willing and able to take this battle to the shores of Gracia.
-If we fail, that evil will soon find its way here... We desperately need your help!
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-04.html b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-04.html deleted file mode 100644 index 0371076c24..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-04.html +++ /dev/null @@ -1,4 +0,0 @@ -High Priest Orven:
-How can you ignore what's happening? Can't you understand that unless we stop the spreading darkness, Aden will be next?!
-I hope you'll change your mind when you've thought it over. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-05.htm b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-05.htm deleted file mode 100644 index 42d33767b0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-05.htm +++ /dev/null @@ -1,5 +0,0 @@ -High Priest Orven:
-Excellent! We need all the help we can get. You must leave for Gracia at once.
-Of course, since Gracia has long been an enemy of Aden, there is no established means of easily traveling there. No Gatekeepers can teleport you there. There is another way, however...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-06.html b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-06.html deleted file mode 100644 index 825a9943fd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-06.html +++ /dev/null @@ -1,5 +0,0 @@ -High Priest Orven:
-I appreciate your commitment. All of Aden will be counting on you and your comrades.
-Your first challenge will be reaching Gracia. First, go to the Aden Airship Dock. There you should ask the manager, Magister Papiku, about the details of the journey.
-Take this. It is a letter to Keucereus, who currently rules Gracia. It designates you as one of the Aden warriors sent to fight the evil in his land. I pray you will be able to help him...and us. May Einhasad shine her blessed light upon your path... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-07.html b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-07.html deleted file mode 100644 index 986482fc95..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-07.html +++ /dev/null @@ -1,4 +0,0 @@ -High Priest Orven:
-There is no one who knows more about airships than Magister Papiku at the Airship Wharf of Gludio. If you wish to go to Gracia, go see him.
-May Einhasad light your path... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-0a.html b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-0a.html deleted file mode 100644 index be17fde1ee..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/30857-0a.html +++ /dev/null @@ -1,4 +0,0 @@ -High Priest Orven:
-Ah, you've returned safely from Gracia! Tell me of your adventures! Gracia is not yet cleansed, however, so I ask you to return there and continue the battle against darkness.
-(You have already completed this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-01.html b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-01.html deleted file mode 100644 index 0bfe6e1d8a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Keucereus:
-Bring death to the betrayer, Karneia! Bring death to the Army of Darkness who violated Gracia!
-Strange adventurer, what brought you here? You have something to say?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-02.html b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-02.html deleted file mode 100644 index 33e35aa93c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-02.html +++ /dev/null @@ -1,7 +0,0 @@ -Keucereus:
-Are you one of the soldiers from Aden? You deserve a reward simply for coming such a long way to help us.
-Unfortunately, things are happening very quickly here, and I'm afraid I don't have the luxury for long conversations.
-Even as we speak, monsters unlike any we've ever seen or heard of are wreaking havoc on my people. They seem to be filled with insane hatred toward all humanoids.
-But if you have the will and skill to fight them, even these enemies can be defeated. I ask for nothing else. Nothing is more fearsome than a mighty warrior fighting in a righteous cause.
-To arms! When you're ready to fight, come see me again. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-03.html b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-03.html deleted file mode 100644 index fbb69b97fd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32548-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Keucereus:
-As I mentioned before, you must have the will to fight and defeat our enemies. That's all I require from you. If you can do that, I will happily tell you more. Prepare yourself for the trials to come. Return to me when you are ready to begin.
-(You have already completed this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-01.html b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-01.html deleted file mode 100644 index c0a9f530ac..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Papiku:
-Do you know that the airship is a part of the ancient Giants' legacy? Apparently they they left behind quite a few relics in Gracia. Most of the continent has been devastated, but perhaps Keucereus will be able to use these relics to prevail. A surprising twist, isn't it?
-Now what brought you here, adventurer?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-02.html b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-02.html deleted file mode 100644 index 55ed0f7e2b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Magister Papiku:
-Ah, just from the seal on the letter, I surmise that you must be the one dispatched here by High Priest Orven!
-If you take the airship, you can reach Keucereus Alliance Base quickly. Once there, show the letter to the commander, Admiral Keucereus. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-03.html b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-03.html deleted file mode 100644 index be7be5ad12..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/32564-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Magister Papiku:
-Is there something wrong? Please do not delay!
-Take High Priest Orven's letter to the commander at Keucereus Alliance Base, Admiral Keucereus himself. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java b/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java deleted file mode 100644 index f40798924f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q10267_JourneyToGracia; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Journey To Gracia (10267)
- * Original Jython script by Kerberos. - * @author nonom - */ -public class Q10267_JourneyToGracia extends Quest -{ - // NPCs - private static final int ORVEN = 30857; - private static final int KEUCEREUS = 32548; - private static final int PAPIKU = 32564; - // Item - private static final int LETTER = 13810; - - public Q10267_JourneyToGracia() - { - super(10267, Q10267_JourneyToGracia.class.getSimpleName(), "Journey to Gracia"); - addStartNpc(ORVEN); - addTalkId(ORVEN, KEUCEREUS, PAPIKU); - registerQuestItems(LETTER); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - switch (event) - { - case "30857-06.html": - st.startQuest(); - st.giveItems(LETTER, 1); - break; - case "32564-02.html": - st.setCond(2, true); - break; - case "32548-02.html": - st.giveAdena(92500, true); - st.addExpAndSp(75480, 7570); - st.exitQuest(false, true); - break; - } - return event; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case ORVEN: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() < 75) ? "30857-00.html" : "30857-01.htm"; - break; - case State.STARTED: - htmltext = "30857-07.html"; - break; - case State.COMPLETED: - htmltext = "30857-0a.html"; - break; - } - break; - case PAPIKU: - if (st.isStarted()) - { - htmltext = st.isCond(1) ? "32564-01.html" : "32564-03.html"; - } - break; - case KEUCEREUS: - if (st.isStarted() && st.isCond(2)) - { - htmltext = "32548-01.html"; - } - else if (st.isCompleted()) - { - htmltext = "32548-03.html"; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32530-01.html b/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32530-01.html deleted file mode 100644 index 37312bb60c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32530-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Officer Tepios:
-This letter of recommendation must be from Admiral Keucereus. We've been waiting for some capable adventurers! We will, of course, reward you for your efforts. It may not be as much as we would like, but know that when we have regained our land, you will always be welcomed here with honor.
-Well, I see that you have proven your ability to destroy the creatures inside the Death Gate.
-Tell me when you're ready for another mission. I have just the thing for you... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32530-02.html b/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32530-02.html deleted file mode 100644 index bd7688217f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32530-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Officer Tepios:
-I have already given you the reward for this mission. Instead of worrying about that, you should start thinking about your next mission.
It involves entering the Death Gate. Begin preparing for that!
-(You have already completed this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-00.html b/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-00.html deleted file mode 100644 index e5687590ff..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-00.html +++ /dev/null @@ -1,4 +0,0 @@ -Keucereus:
-I'm sorry, but I can't possibly send you there. With your inexperience, it would be a death sentence.
-(Only characters who are level 75 or above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-01.htm b/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-01.htm deleted file mode 100644 index e3159dad29..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-01.htm +++ /dev/null @@ -1,7 +0,0 @@ -Keucereus:
-Are you prepared in both body and mind? If so, I have a mission for you.
-Go to the Seed of Infinity. A fierce battle is underway there with the undead who control the area. A skilled adventurer like you will be a tremendous help.
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-02.htm b/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-02.htm deleted file mode 100644 index c33a1ab238..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-02.htm +++ /dev/null @@ -1,8 +0,0 @@ -Keucereus:
-The Seed of Infinity, located to the north of my Alliance Base, is a land of death governed by Ekimus, the Lord of the Dead and a devout follower of Shilen.
-It is inhabited by the undead. The surrounding land has also been contaminated, so the only safe way to approach it is by air, either in a clan airship or via transformation magic.
-Heed my advice: many of the dangers here will exceed the individual skills of even the strongest adventurer. If at all possible, you should only venture there in the company of a powerful party.
-Do you understand?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-03.html b/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-03.html deleted file mode 100644 index 1bc4e6654d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Keucereus:
-Really? It grieves me to hear you speak so. If you change your mind, there will always be a place for you in my army. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-04.htm b/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-04.htm deleted file mode 100644 index 99f35a15a8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-04.htm +++ /dev/null @@ -1,6 +0,0 @@ -Keucereus:
-Then I'll tell you about the mission. When you enter the Seed of Infinity region, you'll be given either an attack order against Seed of Infinity's undead army or a defense order. If you wish, join the mission.
-Because it is so dangerous, though, you are restricted to only 1 enlistment per day, but you'll be generously rewarded for success.
-Now take this letter of recommendation.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-05.html b/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-05.html deleted file mode 100644 index 59a5148dcd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-05.html +++ /dev/null @@ -1,6 +0,0 @@ -Keucereus:
-Take this letter of introduction, which authorizes you to engage in action within the Seed of Infinity. It is a dangerous region, but this letter says that an adventurer like you can be trusted to carry out missions there.
-Deliver this letter to Officer Tepios inside the Seed of Infinity and he will understand why I have recommended you.
-Be advised that first you must be teleported inside the Seed of Infinity by a person called Jaedin, who you will find at the Seed of Infinity Dock.
-You must also first acquire a Flying Transformed Object in order to venture into the skies of Gracia. You may obtain one by completing a simple mission assigned by Engineer Lekon, a Dwarf located south of here. Alternately, you can purchase a Transformation Scroll from Officer Tolonis in the same place. Farewell and good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-06.html b/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-06.html deleted file mode 100644 index 834a435e63..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-06.html +++ /dev/null @@ -1,5 +0,0 @@ -Keucereus:
-When you enter the Seed from the Dock of the Seed of Infinity, you will see my subordinate, Officer Tepios at a place called the Death Gate. Give him this letter of recommendation.
-To enter the Seed of Infinity, remember that you'll first need to teleport there through a person named Jaedin at the Dock of the Seed of Infinity.

-You must also acquire a Flying Transformed Object in order to move through the skies of Gracia. You can do so by completing a simple mission assigned by Engineer Lekon, a Dwarf located south of here or by purchasing a Transformation Scroll from Officer Tolonis next to him. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-0a.html b/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-0a.html deleted file mode 100644 index cb5145ba4c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/32548-0a.html +++ /dev/null @@ -1,4 +0,0 @@ -Keucereus:
-There's nothing left for you to do there. Your skills are better used elsewhere.
-(You have already completed this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java b/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java deleted file mode 100644 index 3e2e0bc05e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q10268_ToTheSeedOfInfinity; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * To the Seed of Infinity (10268)
- * Original Jython script by Kerberos. - * @author nonom - */ -public class Q10268_ToTheSeedOfInfinity extends Quest -{ - // NPCs - private static final int KEUCEREUS = 32548; - private static final int TEPIOS = 32603; - // Item - private static final int INTRODUCTION = 13811; - - public Q10268_ToTheSeedOfInfinity() - { - super(10268, Q10268_ToTheSeedOfInfinity.class.getSimpleName(), "To the Seed of Infinity"); - addStartNpc(KEUCEREUS); - addTalkId(KEUCEREUS, TEPIOS); - registerQuestItems(INTRODUCTION); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - if (event.equals("32548-05.html")) - { - st.startQuest(); - st.giveItems(INTRODUCTION, 1); - } - return event; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case KEUCEREUS: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() < 75) ? "32548-00.html" : "32548-01.htm"; - break; - case State.STARTED: - htmltext = "32548-06.html"; - break; - case State.COMPLETED: - htmltext = "32548-0a.html"; - break; - } - break; - case TEPIOS: - switch (st.getState()) - { - case State.STARTED: - htmltext = "32530-01.html"; - st.giveAdena(16671, true); - st.addExpAndSp(100640, 10098); - st.exitQuest(false, true); - break; - case State.COMPLETED: - htmltext = "32530-02.html"; - break; - default: - break; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32526-01.html b/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32526-01.html deleted file mode 100644 index a26b55ed97..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32526-01.html +++ /dev/null @@ -1,5 +0,0 @@ -Sergeant Allenos:
-Oh! This letter is from Admiral Keucereus. Thank you! Allow me to show you me gratitude.
-You certainly are qualified to enter. (Whew! This place would be much safer with more like this one...)
-Yes? Oh, nothing. Ha! Just talking to myself... - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32526-02.html b/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32526-02.html deleted file mode 100644 index abce1cb476..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32526-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Sergeant Allenos:
-I have already given you the reward for this mission. Instead of worrying about that, you should start thinking about your next mission.
It involves entering the Death Gate. Begin preparing for that!
-(You have already completed this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-00.html b/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-00.html deleted file mode 100644 index dce5a81f2a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-00.html +++ /dev/null @@ -1,4 +0,0 @@ -Keucereus:
-I'm sorry, but I can't possibly send you there. I need adventurers, but I only want those capable of facing the dangers. Given your inexperience, it would be a death sentence.
-(Only characters who are level 75 or above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-01.htm b/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-01.htm deleted file mode 100644 index 86ecc23929..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-01.htm +++ /dev/null @@ -1,7 +0,0 @@ -Keucereus:
-You look like you're ready for action. If so, I have a mission for you.
-I'd like you to enter the Seed of Destruction. Since Dragonkin assumed power there, it has become a extremely violent and dangerous place. A skilled adventurer like you may do a great deal of good there.
- - - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-02.htm b/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-02.htm deleted file mode 100644 index 8275854efe..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-02.htm +++ /dev/null @@ -1,9 +0,0 @@ -Keucereus:
-The Seed of Destruction, located to the west of my Alliance Base, is ruled by Tiat, Lord of the Dragonkin and a follower of Shilen.
-She is called the wife of the Dragon of Darkness, and when she appeared here, the monsters in the region were transformed into the likeness of Dragonkin -- at least that's how my magicians explain it. As they gather, the Seed of Destruction grows in strength.
-To enter it, you must use a clan airship or transformation magic.
-Heed my advice: many of the dangers here will exceed the individual skills of even the strongest adventurer. If at all possible, you should only venture there in the company of a powerful party.
-Do you understand?
- - - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-03.html b/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-03.html deleted file mode 100644 index 1bc4e6654d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Keucereus:
-Really? It grieves me to hear you speak so. If you change your mind, there will always be a place for you in my army. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-04.htm b/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-04.htm deleted file mode 100644 index fbe9189627..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-04.htm +++ /dev/null @@ -1,6 +0,0 @@ -Keucereus:
-Very well. When you enter the Seed of Destruction, you will be assigned to either attack or defend the Dragonkin's stronghold depending on the situation. Either way, we need your help to stabilize this area.
-Whatever your mission, there will likely be a time limit in which to complete it.
-Ah, wait! Take this with you...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-05.html b/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-05.html deleted file mode 100644 index ef08d81a6d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Keucereus:
-This letter of recommendation authorizes you to be active within the Seed of Destruction. It says an adventurer like you can be trusted to take care of yourself.
-Give this letter to Sergeant Allenos inside the Seed of Destruction. Then he'll assign you an important mission.
-If you wish to move freely in Gracia, you must acquire a Flying Transformed Object. You can do so by completing a simple mission assigned by Engineer Lekon, a Dwarf located south of here. You can also purchase a Transformation Scroll from Officer Tolonis next to him. Now then, good luck and good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-06.html b/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-06.html deleted file mode 100644 index c1c928cf00..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Keucereus:
-Deliver the letter of recommendation I gave you to Sergeant Allenos inside the Seed of Destruction. Then he'll give you a small reward and assign you an important mission.
-If you wish to move freely through the skies of Gracia, complete a simple mission assigned by Engineer Lekon, a Dwarf located south of here. You can also purchase a Transformation Scroll from Officer Tolonis next to him. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-0a.html b/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-0a.html deleted file mode 100644 index cb5145ba4c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/32548-0a.html +++ /dev/null @@ -1,4 +0,0 @@ -Keucereus:
-There's nothing left for you to do there. Your skills are better used elsewhere.
-(You have already completed this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java b/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java deleted file mode 100644 index 87d8ac9b94..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q10269_ToTheSeedOfDestruction; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * To the Seed of Destruction (10269)
- * Original Jython script by Kerberos. - * @author nonom - */ -public class Q10269_ToTheSeedOfDestruction extends Quest -{ - // NPCs - private static final int KEUCEREUS = 32548; - private static final int ALLENOS = 32526; - // Item - private static final int INTRODUCTION = 13812; - - public Q10269_ToTheSeedOfDestruction() - { - super(10269, Q10269_ToTheSeedOfDestruction.class.getSimpleName(), "To the Seed of Destruction"); - addStartNpc(KEUCEREUS); - addTalkId(KEUCEREUS, ALLENOS); - registerQuestItems(INTRODUCTION); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - if (event.equals("32548-05.html")) - { - st.startQuest(); - st.giveItems(INTRODUCTION, 1); - } - return event; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case KEUCEREUS: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() < 75) ? "32548-00.html" : "32548-01.htm"; - break; - case State.STARTED: - htmltext = "32548-06.html"; - break; - case State.COMPLETED: - htmltext = "32548-0a.html"; - break; - } - break; - case ALLENOS: - switch (st.getState()) - { - case State.STARTED: - htmltext = "32526-01.html"; - st.giveAdena(29174, true); - st.addExpAndSp(176121, 7671); - st.exitQuest(false, true); - break; - case State.COMPLETED: - htmltext = "32526-02.html"; - break; - default: - break; - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32528-01.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32528-01.html deleted file mode 100644 index db84ce90f9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32528-01.html +++ /dev/null @@ -1,3 +0,0 @@ -Corpse of Medibal:
-(You find a document after searching his chest.) - diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32528-02.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32528-02.html deleted file mode 100644 index 2f5a4dcc31..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32528-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Corpse of Medibal:
-(This is the corpse of Inspector Medibal, who was dispatched to investigate the Seed of Destruction. Apparently he is now at rest.)
-(You have already completed this quest.) - diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32528-03.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32528-03.html deleted file mode 100644 index 17372e75db..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32528-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Corpse of Medibal:
-(Nothing comes out now.) - diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-01.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-01.html deleted file mode 100644 index f496a1efef..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier El:
-Hey, I'm injured here! Ask a healthy soldier and leave me alone! It's bad enought that I couldn't sleep because of a nightmare.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-02.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-02.html deleted file mode 100644 index f27c6b0005..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier El:
-Thanks to you I can now look at the faces of my friends in heaven. I feel stronger already. Thank you!
-(You have already completed this quest.) - diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-03.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-03.html deleted file mode 100644 index 5e6b7e5d0f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Soldier El:
-Obryu sent you? He just can't leave well enough alone.
-Yes, as you can see I'm the sole survivor of that troop. Do you know what that means? I fled to save my own miserable life while my fellow soldiers were dying. I'm a coward. And we failed to accomplish the mission. Now every night I have nightmares about my dead friends. I should have died there...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-04.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-04.html deleted file mode 100644 index 8f38de03c7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Soldier El:
-We were sent to protect the group dispatched to investigate the Seed of Destruction. We were part of a large force and felt invincible. At first everything went well.
-Then...we were attacked by the Mounted Troop. We kept fighting in order to complete our mission. While some of us kept up a rearguard defense, a few others tried to deliver the documents containing records of our investigation to the fortress. Inspector Medibal and I were ordered to deliver them. Thanks to our soldiers' efforts we were able to get out...barely. But as we were almost clear, Medibal and I were both hit. And...and I couldn't grab the inspection documents he was holding. I betrayed the trust of my comrades. I failed them...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-05.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-05.html deleted file mode 100644 index 4d0b21889d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-05.html +++ /dev/null @@ -1,6 +0,0 @@ -Soldier El:
-I thought about that. But I'm too injured. And even if I weren't, I'm not sure I could go back there. I've never been so scared in all my life....
-Why are you so interested? I guess you came here looking for information about the Seed of Destruction, eh? Well, if you coud recover that document, you'd get all the information we currently have about the Seed.
-Perhaps you can help me...
-It won't bring our dead soldiers back, but completing that mission will restore their honor -- and mine. You'd have my eternal gratitude.
- \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-06.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-06.html deleted file mode 100644 index 3ed305102d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier El:
-Very well. I'll put my trust in you. Help me restore our honor.
-Find Medibal's corpse in the Seed of Destruction and retrieve Inspector Medibal's documents from his chest. - diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-07.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-07.html deleted file mode 100644 index 10318587f3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-07.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier El:
-Help me restore our honor by completing our mission.
-Find Medibal's corpse in the Seed of Destruction and retrieve Inspector Medibal's documents from his chest. - diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-08.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-08.html deleted file mode 100644 index ac8a36db87..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-08.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier El:
-Have you returned? Did you bring the documents?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-09.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-09.html deleted file mode 100644 index 1eb374abab..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32556-09.html +++ /dev/null @@ -1,3 +0,0 @@ -Soldier El:
-Thank you! You have restored the honor of my fallen comrades and myself. I won't forget your help. If you take those documents to Soldier Orbyu, I know he will reward you as well. The money that was promised to us will be given to you by right. You've earned it! - diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-01.htm b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-01.htm deleted file mode 100644 index 2742b620e8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Orbyu:
-We've been assigned a mission by Admiral Keucereus, commander of this Alliance Base. But it's so dangerous that we haven't had anyone volunteer. Adventurer, will you take it on?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-02.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-02.html deleted file mode 100644 index 24d0280f00..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-02.html +++ /dev/null @@ -1,5 +0,0 @@ -Soldier Orbyu:
-We've been assigned a mission by Admiral Keucereus, commander of this Alliance Base. But it's so dangerous that we haven't had anyone volunteer.
-What? You're interested? Uh, no thanks. You wouldn't last long! Thanks for the offer, though.
-(Only characters who are level 75 and above are permitted to undertake this quest.) - diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-03.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-03.html deleted file mode 100644 index 3105c5b256..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Orbyu:
-Thank you! I heard Admiral Keucereus was very pleased.
-(You have already completed this quest.) - diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-04.htm b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-04.htm deleted file mode 100644 index 2cf60990df..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-04.htm +++ /dev/null @@ -1,6 +0,0 @@ -Soldier Orbyu:
-To the west of Keucereus Alliance Base lies a place called the Seed of Destruction. It is ruled by the lord of the Dragon Race.
-We have sent many scouts to gather information about the Seed, but few of them ever returned. The rest were too afraid to venture deeply into the area. Obviously we cannot wage war effectively if we know so little about our enemy.
-That's why we need your help to gather information about the Seed. Will you do it?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-05.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-05.html deleted file mode 100644 index c0b5f910a6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-05.html +++ /dev/null @@ -1,5 +0,0 @@ -Soldier Orbyu:
-Ah! Thank you! You are the answer to our prayers.
-I won't lie to you -- this is going to be a very difficult mission. Before you go, I'd advise you to go talk to Soldier El. He accompanied a group of researchers into the Seed of Destruction. He is the only person, in fact, who has been to the deepest dungeon of the Seed of Destruction and come back alive. Others...have not been as fortunate.
-You can find Soldier El in the center of the fortress. - diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-06.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-06.html deleted file mode 100644 index dfeefc9f1f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Orbyu:
-In learning additional information about the mission, speak to Soldier El.
-You can find him near the center of the fortress. - diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-07.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-07.html deleted file mode 100644 index 3314514c5f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-07.html +++ /dev/null @@ -1,3 +0,0 @@ -Soldier Orbyu:
-I heard that you are carrying out a mission you on behalf of Soldier El. Do you have any business with me? El is in the center of the fortress, if you need to find him. - diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-08.html b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-08.html deleted file mode 100644 index b041449e88..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/32560-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Soldier Orbyu:
-You have completed your mission! Excellent! Here is the reward El promised you. - diff --git a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java b/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java deleted file mode 100644 index 21748079c8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q10271_TheEnvelopingDarkness; - -import quests.Q10269_ToTheSeedOfDestruction.Q10269_ToTheSeedOfDestruction; - -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * The Enveloping Darkness (10271) - * @author Gladicek - */ -public class Q10271_TheEnvelopingDarkness extends Quest -{ - private static final int ORBYU = 32560; - private static final int EL = 32556; - private static final int MEDIBAL_CORPSE = 32528; - private static final int MEDIBAL_DOCUMENT = 13852; - - public Q10271_TheEnvelopingDarkness() - { - super(10271, Q10271_TheEnvelopingDarkness.class.getSimpleName(), "The Enveloping Darkness"); - addStartNpc(ORBYU); - addTalkId(ORBYU, EL, MEDIBAL_CORPSE); - registerQuestItems(MEDIBAL_DOCUMENT); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - switch (event) - { - case "32560-05.html": - st.startQuest(); - break; - case "32556-06.html": - st.setCond(2, true); - break; - case "32556-09.html": - if (st.hasQuestItems(MEDIBAL_DOCUMENT)) - { - st.takeItems(MEDIBAL_DOCUMENT, -1); - st.setCond(4, true); - } - break; - default: - break; - } - return event; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case ORBYU: - switch (st.getState()) - { - case State.CREATED: - st = player.getQuestState(Q10269_ToTheSeedOfDestruction.class.getSimpleName()); - htmltext = ((player.getLevel() >= 75) && (st != null) && st.isCompleted()) ? "32560-01.htm" : "32560-02.html"; - break; - case State.STARTED: - switch (st.getCond()) - { - case 1: - htmltext = "32560-05.html"; // TODO this html should most probably be different - break; - case 2: - htmltext = "32560-06.html"; - break; - case 3: - htmltext = "32560-07.html"; - break; - case 4: - htmltext = "32560-08.html"; - st.giveAdena(62516, true); - st.addExpAndSp(377403, 37867); - st.exitQuest(false, true); - break; - } - break; - case State.COMPLETED: - htmltext = "32560-03.html"; - break; - } - - break; - case EL: - if (st.isCompleted()) - { - htmltext = "32556-02.html"; - } - else if (st.isStarted()) - { - switch (st.getCond()) - { - case 1: - htmltext = "32556-01.html"; - break; - case 2: - htmltext = "32556-07.html"; - break; - case 3: - htmltext = "32556-08.html"; - break; - case 4: - htmltext = "32556-09.html"; - break; - } - } - break; - case MEDIBAL_CORPSE: - if (st.isCompleted()) - { - htmltext = "32528-02.html"; - } - else if (st.isStarted()) - { - switch (st.getCond()) - { - case 2: - htmltext = "32528-01.html"; - st.setCond(3, true); - st.giveItems(MEDIBAL_DOCUMENT, 1); - break; - case 3: - case 4: - htmltext = "32528-03.html"; - break; - } - } - break; - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-01.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-01.html deleted file mode 100644 index dceba0fc06..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Engineer Lekon:
-Uh, I'm so busy! Hey, what's going on over there?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-02.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-02.html deleted file mode 100644 index 63afedf2d1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Engineer Lekon:
-Well, nothing is impossible...say, did you really bring the materials I need? May I see them? Then we can get started...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-03.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-03.html deleted file mode 100644 index b5d8baca99..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-03.html +++ /dev/null @@ -1,3 +0,0 @@ -Engineer Lekon:
-Ah, you really brought the necessary materials! I must have taken you a great deal of effort to collect so much... I must think about how to proceed. Will you give me a moment? - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-04.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-04.html deleted file mode 100644 index 01da583aa6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-04.html +++ /dev/null @@ -1,3 +0,0 @@ -Engineer Lekon:
-Is this some kind of joke? I cannot do anything without the necessary materials. Why are you wasting my time? - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-05.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-05.html deleted file mode 100644 index e9df275d58..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-05.html +++ /dev/null @@ -1,3 +0,0 @@ -Engineer Lekon:
-Finished! It's more fragile than I would have wished, but that's the nature of the original materials. I can guess how you plan to use this... Perhaps you had better speak with War Mage Artius first, though. - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-06.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-06.html deleted file mode 100644 index f6ca30339d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32557-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Engineer Lekon:
-Does the item meet with your approval? Then go see War Mage Artius. - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-01.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-01.html deleted file mode 100644 index a493c8e17d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-01.html +++ /dev/null @@ -1,4 +0,0 @@ -War Mage Artius:
-It takes my full concentration to control the Barrier Orb. I don't have time for chit-chat.
Do you have any pressing business with me?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-02.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-02.html deleted file mode 100644 index 4b578bf5a8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-02.html +++ /dev/null @@ -1,4 +0,0 @@ -War Mage Artius:
-Ah, you mean the inspector who went to investigate the Seed of Destruction. You retrieved his documents? Well done!
Hand them over right away.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-03.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-03.html deleted file mode 100644 index 738b7c4dd4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-03.html +++ /dev/null @@ -1,4 +0,0 @@ -War Mage Artius:
-Very interesting... These definitely merit a closer look. Give me some time to read this thoroughly.
-It won't take too long. Visit me again soon. - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-04.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-04.html deleted file mode 100644 index 51c9714bf7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-04.html +++ /dev/null @@ -1,6 +0,0 @@ -War Mage Artius:
-Hmm, as I expected... These are indeed very valuable documents. They contain detailed information about the Mounted Troop that is occupying the Seed of Destruction. This will give us a considerable tactical advantage.
-Ah, I see he also recorded his observations of the magic power and origin of the Seed from the perspective of a Magister.
-This last part is particularly interesting....
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-05.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-05.html deleted file mode 100644 index 482c12ac38..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-05.html +++ /dev/null @@ -1,6 +0,0 @@ -War Mage Artius:
-It concerns a girl dressed in witch's clothing who apparently controls the Fleet Steed Troop. See here!
-The Mounted Troop seems to be a group of soldiers controlled by someone called Tiat. Interesting... How can such a formidable group follow such a slight girl? Ah, she is surrounded by infernal energy... Hmm...Apparently our team was discovered by the Mounted Troop while recording After this, the text is nearly illegible. I can only make out the words "Tiat," "magic power," and "transformation."
-We need someone else to shed light on this development...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-06.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-06.html deleted file mode 100644 index a7e9f3a09e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-06.html +++ /dev/null @@ -1,6 +0,0 @@ -War Mage Artius:
-It concerns a girl dressed in witch's clothing who apparently controls the Fleet Steed Troop. See here!
-The Mounted Troop seems to be a group of soldiers controlled by someone called Tiat. Interesting... How can such a formidable group follow such a slight girl? Ah, she is surrounded by infernal energy... Hmm... Apparently our team was discovered by the Mounted Troop while recording this last part. After this, the text is nearly illegible. I can only make out the words "Tiat," "magic power," and "transformation."
-I don't like it, but I think we need that fellow's help in this matter...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-07.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-07.html deleted file mode 100644 index 5a6ca6251b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-07.html +++ /dev/null @@ -1,3 +0,0 @@ -War Mage Artius:
-That's right. Since you already know, I won't go into the details. Go to him and obtain information about Tiat. In order to meet Lelrikia, you must first bribe Soldier Ginby in Keucereus Alliance Base. - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-08.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-08.html deleted file mode 100644 index 9232225e11..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-08.html +++ /dev/null @@ -1,6 +0,0 @@ -War Mage Artius:
-Actually, there is Temple of Shilen Temple here in Keucereus Alliance Base. Inside, a priest named Lelrikia is in hiding.
-Even before catastrophe befell Gracia, the priests of Shilen tried to delude many of our people.
-What bothers me is that I don't know his purpose. He surrendered to us willingly, which bothers me. But I think we have no choice but to involve him in this. Go to him and see what you can find out about Tiat.
-To get to Lelrikia, you must speak with Soldier Ginby in Keucereus Alliance Base. With the proper persuasion, he will allow you to see the priest... - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-09.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-09.html deleted file mode 100644 index 8919dcae49..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-09.html +++ /dev/null @@ -1,3 +0,0 @@ -War Mage Artius:
-Go to Soldier Ginby in Keucereus Alliance Base and bribe him to lead you to Lelrikia. - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-10.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-10.html deleted file mode 100644 index a7df63f6ef..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-10.html +++ /dev/null @@ -1,4 +0,0 @@ -War mage Artius:
-So did you meet Lelrikia? What did he say?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-11.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-11.html deleted file mode 100644 index f76602a572..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-11.html +++ /dev/null @@ -1,4 +0,0 @@ -War Mage Artius:
-So it's true that Tiat draws her power from the Dark Black Dragon! That is not good news. Still, there might be a way...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-12.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-12.html deleted file mode 100644 index 854b389e22..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-12.html +++ /dev/null @@ -1,4 +0,0 @@ -War Mage Artius:
-The power of the Dark Black Dragon is extremely potent. If she somehow acquired the power, she will be a formidable adversary. But there may be a chance... We must act quickly.
-I will explain more later. Right now, you must go to the Seed of Destruction, hunt members of the Mounted Troop, and bring me Powders of Broken Darkness. We will purify it into a weapon we can use against Tiat. We must at least have 100 Powders of Broken Darkness. Now hurry -- there is no time to waste! - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-13.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-13.html deleted file mode 100644 index 44ac9bdaba..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-13.html +++ /dev/null @@ -1,3 +0,0 @@ -War Mage Artius:
-Leave now for the Seed of Destruction. Don't forget that we need at least 100 Powders of Broken Darkness. - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-14.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-14.html deleted file mode 100644 index b4c5d93bf2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-14.html +++ /dev/null @@ -1,3 +0,0 @@ -War Mage Artius:
-We need 100 Powders of Broken Darkenss. You haven't brought enough. - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-15.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-15.html deleted file mode 100644 index b55ddced22..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-15.html +++ /dev/null @@ -1,4 +0,0 @@ -War Mage Artius:
-You collected them all. Well done! Now listen carefully.
Now we must purify this substance. To do so, we will need help from the Mother Tree. You must approach with care -- the residents of the Elven Village may well attack you rather than allow you to bring so dark a power near their sacred tree.
-Still, you must go to the Mother Tree north of the village and purify this Powder of Broken Darkness into Powder of Broken Light. Then bring it to me at once. - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-16.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-16.html deleted file mode 100644 index f33bd76e76..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-16.html +++ /dev/null @@ -1,4 +0,0 @@ -War Mage Artius:
-We need 100 Powders of Broken Light. Bring more, quickly!
-Purify Powders of Broken Darkness in the shadow of the Mother Tree north of the Elven Village to create Powder of Broken Light. Then bring it to me. - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-17.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-17.html deleted file mode 100644 index c00f41bb52..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-17.html +++ /dev/null @@ -1,5 +0,0 @@ -War Mage Artius:
-Ah, you've brought it! Well done!
-I can already feel the sacred energy of the Mother Tree in this powder. Now we have a chance to defeat Tiat.
-Of course, it is still not in a very practical form. Go to Engineer Lekon and ask him to turn this powder into a solid weapon. If anyone can do it, he can. Hurry! - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-18.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-18.html deleted file mode 100644 index d5ad224221..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-18.html +++ /dev/null @@ -1,6 +0,0 @@ -War Mage Artius:
-Very well done. I'm sure it was a difficult trip, but you exceeded my expectations. This now contains the sacred energy of the Mother Tree.
-It will not be particularly effective against normal undead, but it can strike a great blow against Tiat. Keep this sacred sign with you in case you encounter her. You won't regret it.
-Here is a reward for your efforts so far. Use it well.
-(Double-click the sacred sign to use it against Tiat; it can only be used once, and only against her.) - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-19.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-19.html deleted file mode 100644 index dcae89e0e3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32559-19.html +++ /dev/null @@ -1,3 +0,0 @@ -War Mage Artius:
-(You have already completed this quest.) - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-01.htm b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-01.htm deleted file mode 100644 index 66ad85c670..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Orbyu:
-Thanks to you, we were able to learn vital information about the Seed of Destruction. We are in your debt. But there's one more thing left to do...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-02.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-02.html deleted file mode 100644 index 5508345498..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Orbyu:
-For this mission, you need more information about the Seed of Destruction.
-(Only characters who have completed the "The Enveloping Darkness" quest may undertake this quest.) - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-03.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-03.html deleted file mode 100644 index c964a56a79..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Orbyu:
-I'm afraid you just aren't experienced enough for a mission of this magnitude. I'm sorry. We just can't afford to take chances with something so important. I'm sure you understand.
-(Only characters who are level 75 or above may undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-04.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-04.html deleted file mode 100644 index 76ab929272..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Orbyu:
-I heard that you successfully completed the mission. Well done!
-(You have already completed this quest.) - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-05.htm b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-05.htm deleted file mode 100644 index 8ad128d275..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-05.htm +++ /dev/null @@ -1,5 +0,0 @@ -Soldier Orbyu:
-Will you bring the research documents you delivered to War Mage Artius?
-Based on the information, he might give you a new mission.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-06.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-06.html deleted file mode 100644 index 2ec5d5fe14..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32560-06.html +++ /dev/null @@ -1,4 +0,0 @@ - -Soldier Orbyu:
-Please hurry! Take the documents you recovered from Researcher Medibal to War Mage Artius. - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-01.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-01.html deleted file mode 100644 index 5fa9873235..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Ginby:
-If you don't have any business here, get out!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-02.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-02.html deleted file mode 100644 index 00c1f174a2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-02.html +++ /dev/null @@ -1,3 +0,0 @@ -Soldier Ginby:
-I said get lost! Do I have to repeat myself? - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-03.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-03.html deleted file mode 100644 index e60887ea50..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-03.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Ginby:
-Oh ho! A familiar face. We're both very busy, so I'll get right to the point. If you want to enter, it'll cost you.
-
- \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-04.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-04.html deleted file mode 100644 index 93d554fde1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Ginby:
-Oh ho! So that's why you're here. But that's not enough for me to take you to him. Unless you were to make it worth my while...
-
- \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-04a.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-04a.html deleted file mode 100644 index 071dbcd4f4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-04a.html +++ /dev/null @@ -1,3 +0,0 @@ -Soldier Ginby:
-What a good-for-nothing! You've wasted my time! - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-05.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-05.html deleted file mode 100644 index 16bb35b257..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Ginby:
-Good, good. You're smarter than you look! I'll be on the lookout, but hurry. Understand? If the other guards see you talking to the Shilen Priest, it'll be bad news for both of us.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-06.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-06.html deleted file mode 100644 index 2faaaa778e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-06.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Ginby:
-Ready? Then let's go!
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-06a.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-06a.html deleted file mode 100644 index cc07164778..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-06a.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Ginby:
-Ready? Then let's go!
- - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-08.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-08.html deleted file mode 100644 index eb06505451..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-08.html +++ /dev/null @@ -1,3 +0,0 @@ -Soldier Ginby:
-Eh, he must be busy. Come back later. (You cannot enter the Instant Zone now.) - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-09.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-09.html deleted file mode 100644 index 368366fe29..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-09.html +++ /dev/null @@ -1,4 +0,0 @@ -Soldier Ginby:
-Hey, are you done?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-10.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-10.html deleted file mode 100644 index 8bea700835..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32566-10.html +++ /dev/null @@ -1,3 +0,0 @@ -Soldier Ginby:
-Finished your business? Well, just don't go blabbing about everything you heard and saw. If you do... Now scram! - diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-01.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-01.html deleted file mode 100644 index f7307b3940..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-01.html +++ /dev/null @@ -1,4 +0,0 @@ -Shilen Priest Lelrikia:
-No outsider has ventured here for a long time. Doomed creature, what brought you here?
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-02.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-02.html deleted file mode 100644 index 4e5995f949..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-02.html +++ /dev/null @@ -1,4 +0,0 @@ -Shilen Priest Lelrikia:
-Are you talking about Tiat, the witch of the Dark Black Dragon? I can tell you what I know of her...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-03.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-03.html deleted file mode 100644 index 4390d9c71b..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Shilen Priest Lelrikia:
-The Dark Black Dragon was a follower of Shilen and widely regarded as one of the most powerful Dragons in existence. But it is imprisoned just like the goddess herself... That's the official history. But how can you explain the Seed of Destruction if the Dragon's power remains inaccesible? It is foolish to imagine that such power can be forever imprisoned.
-I do not know much about Tiat, but it is obvious that her power was inherited form the Dark Black Dragon.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-04.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-04.html deleted file mode 100644 index 9df066d0d3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-04.html +++ /dev/null @@ -1,5 +0,0 @@ -Shilen Priest Lelrikia:
-All these stories are probably not very helpful...you must want to know Tiat's weaknesses. Reflect on what I said. If she inherited his power, she must have inherited his limitations as well...
-I have no more to say. Go now.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-05.html b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-05.html deleted file mode 100644 index f4f24cba84..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/32567-05.html +++ /dev/null @@ -1,4 +0,0 @@ -Shilen Priest Lelrikia:
-I have nothing more to say. Go now.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java b/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java deleted file mode 100644 index 5e747a0a63..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java +++ /dev/null @@ -1,331 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q10272_LightFragment; - -import quests.Q10271_TheEnvelopingDarkness.Q10271_TheEnvelopingDarkness; - -import com.l2jserver.Config; -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.itemcontainer.Inventory; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Light Fragment (10272) - * @author Gladicek - */ -public class Q10272_LightFragment extends Quest -{ - private static final int ORBYU = 32560; - private static final int ARTIUS = 32559; - private static final int GINBY = 32566; - private static final int LELRIKIA = 32567; - private static final int LEKON = 32557; - private static final int[] MOBS = - { - 22536, // Royal Guard Captain - 22537, // Dragon Steed Troop Grand Magician - 22538, // Dragon Steed Troop Commander - 22539, // Dragon Steed Troops No 1 Battalion Commander - 22540, // White Dragon Leader - 22541, // Dragon Steed Troop Infantry - 22542, // Dragon Steed Troop Magic Leader - 22543, // Dragon Steed Troop Magician - 22544, // Dragon Steed Troop Magic Soldier - 22547, // Dragon Steed Troop Healer - 22550, // Savage Warrior - 22551, // Priest of Darkness - 22552, // Mutation Drake - 22596 - // White Dragon Leader - }; - private static final int FRAGMENT_POWDER = 13853; - private static final int LIGHT_FRAGMENT_POWDER = 13854; - private static final int LIGHT_FRAGMENT = 13855; - private static final double DROP_CHANCE = 60; - - public Q10272_LightFragment() - { - super(10272, Q10272_LightFragment.class.getSimpleName(), "Light Fragment"); - addStartNpc(ORBYU); - addTalkId(ORBYU, ARTIUS, GINBY, LELRIKIA, LEKON); - addKillId(MOBS); - registerQuestItems(FRAGMENT_POWDER, LIGHT_FRAGMENT_POWDER); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - switch (event) - { - case "32560-06.html": - { - st.startQuest(); - break; - } - case "32559-03.html": - { - st.setCond(2, true); - break; - } - case "32559-07.html": - { - st.setCond(3, true); - break; - } - case "pay": - { - if (st.getQuestItemsCount(Inventory.ADENA_ID) >= 10000) - { - st.takeItems(Inventory.ADENA_ID, 10000); - event = "32566-05.html"; - } - else - { - event = "32566-04a.html"; - } - break; - } - case "32567-04.html": - { - st.setCond(4, true); - break; - } - case "32559-12.html": - { - st.setCond(5, true); - break; - } - case "32557-03.html": - { - if (st.getQuestItemsCount(LIGHT_FRAGMENT_POWDER) >= 100) - { - st.takeItems(LIGHT_FRAGMENT_POWDER, 100); - st.set("wait", "1"); - } - else - { - event = "32557-04.html"; - } - break; - } - default: - break; - } - return event; - } - - @Override - public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon) - { - final QuestState st = getQuestState(player, false); - if ((st != null) && st.isCond(5)) - { - final long count = st.getQuestItemsCount(FRAGMENT_POWDER); - if (count < 100) - { - int chance = (int) (Config.RATE_QUEST_DROP * DROP_CHANCE); - int numItems = chance / 100; - chance = chance % 100; - if (getRandom(100) < chance) - { - numItems++; - } - if (numItems > 0) - { - if ((count + numItems) > 100) - { - numItems = 100 - (int) count; - } - if (numItems > 0) - { - st.giveItems(FRAGMENT_POWDER, numItems); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } - } - } - return null; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case ORBYU: - { - switch (st.getState()) - { - case State.CREATED: - if (player.getLevel() < 75) - { - htmltext = "32560-03.html"; - } - else - { - st = player.getQuestState(Q10271_TheEnvelopingDarkness.class.getSimpleName()); - htmltext = ((st != null) && st.isCompleted()) ? "32560-01.htm" : "32560-02.html"; - } - break; - case State.STARTED: - htmltext = "32560-06.html"; - break; - case State.COMPLETED: - htmltext = "32560-04.html"; - break; - } - break; - } - case ARTIUS: - { - if (st.isCompleted()) - { - htmltext = "32559-19.html"; - } - else - { - switch (st.getCond()) - { - case 1: - htmltext = "32559-01.html"; - break; - case 2: - htmltext = "32559-04.html"; - break; - case 3: - htmltext = "32559-08.html"; - break; - case 4: - htmltext = "32559-10.html"; - break; - case 5: - if (st.getQuestItemsCount(FRAGMENT_POWDER) >= 100) - { - htmltext = "32559-15.html"; - st.setCond(6, true); - } - else - { - htmltext = st.hasQuestItems(FRAGMENT_POWDER) ? "32559-14.html" : "32559-13.html"; - } - break; - case 6: - if (st.getQuestItemsCount(LIGHT_FRAGMENT_POWDER) < 100) - { - htmltext = "32559-16.html"; - } - else - { - htmltext = "32559-17.html"; - st.setCond(7, true); - } - break; - case 7: - // TODO Nothing here? - break; - case 8: - htmltext = "32559-18.html"; - st.giveAdena(556980, true); - st.addExpAndSp(1009016, 91363); - st.exitQuest(false, true); - break; - } - } - break; - } - case GINBY: - { - switch (st.getCond()) - { - case 1: - case 2: - htmltext = "32566-02.html"; - break; - case 3: - htmltext = "32566-01.html"; - break; - case 4: - htmltext = "32566-09.html"; - break; - case 5: - htmltext = "32566-10.html"; - break; - case 6: - htmltext = "32566-10.html"; - break; - } - break; - } - case LELRIKIA: - { - switch (st.getCond()) - { - case 3: - htmltext = "32567-01.html"; - break; - case 4: - htmltext = "32567-05.html"; - break; - } - break; - } - case LEKON: - { - switch (st.getCond()) - { - case 7: - if (st.getInt("wait") == 1) - { - htmltext = "32557-05.html"; - st.unset("wait"); - st.setCond(8, true); - st.giveItems(LIGHT_FRAGMENT, 1); - } - else - { - htmltext = "32557-01.html"; - } - break; - case 8: - htmltext = "32557-06.html"; - break; - } - break; - } - } - return htmltext; - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-00.htm b/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-00.htm deleted file mode 100644 index ad010052da..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-00.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Bathis:
-Based on my observations, I don't think you are yet ready to handle the Kaneus.
-(Only characters level 18 and above are permitted to undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-01.htm b/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-01.htm deleted file mode 100644 index 192055f6a8..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Bathis:
-I heard tales of your recent activities. You have already acquired a reputation as an accomplished adventurer. Perhaps you have already heard about the Mutated Kaneus of Kamaloka. I have been asked to help investigate these strange creatures, but my duties unfortunately keep me far too busy. Perhaps you could help me...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-02.htm b/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-02.htm deleted file mode 100644 index 78b6ed93c1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-02.htm +++ /dev/null @@ -1,8 +0,0 @@ -Captain Bathis:
-The favor I ask is on behalf of Magister Rohmer of the Temple of Einhasad. The Sages of Magic, a group of magisters of which Magister Rohmer is a member, are researching the Kaneus: recently discovered monsters of Kamaloka.
-They know that Kamaloka exists between this world and the infernal regions; "normal" monsters in that region mutate into the Kaneus.
-They do not know the cause of this mutation, however.
-To assist their research into this matter, they asked me to obtain some cellular tissues of the Kaneus.Will you help me?
-(You may only undertake this quest only if you are eligible to enter Kamaloka, Hall of the Abyss, level 23 and 26.)
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-03.htm b/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-03.htm deleted file mode 100644 index ef6cd303fa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Captain Bathis:
-Excellent! Visit either of the 2 Kamalokas we can enter from Gludio, kill the Kaneus there and extract their cellular tissues.
-You will face the Tomlan Kamos and Ol Ariosh Kaneus. The Tomlan Kamos is much weaker, so I'd advise that you pursue it first.
-When you have extracted all the cellular tissues of the 2 creatures, take them to Magister Rohmer at the Temple of Einhasad. I know he and the other Sages will appreciate your efforts.
-Good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-04.htm b/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-04.htm deleted file mode 100644 index f9d9c06e35..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Bathis:
-The magisters become agitated if their research is delayed for any reason, so deliver the cellular tissue samples as quickly as possible. Those aren't people you want irritated with you, you know!
-Hurry to Kamaloka, and good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-05.htm b/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-05.htm deleted file mode 100644 index d3ebd55cbc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-05.htm +++ /dev/null @@ -1,6 +0,0 @@ -Captain Bathis:
-Ah! Are these the cellular tissues of Tomlan Kamos and Ol Ariosh?
-From their pristine appearance, I can tell you were very careful. I couldn't have done better myself. Well done!
-Now take these samples to Magister Rohmer at the Temple of Einhasad. He will be very pleased.
-If we can determine the nature of the mutated Kaneus, your efforts will not be forgotten! But there is no time to waste, so hurry and take these samples to Magister Rohmer before they deteriorate! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-06.htm b/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-06.htm deleted file mode 100644 index b21e274264..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30332-06.htm +++ /dev/null @@ -1,3 +0,0 @@ -Captain Bathis:
-Ah, it's you! Magister Kayan asked me to convey his gratitude to you. He said that the cellular tissues of the mutated Kaneus from the Kamaloka of Gludio that you delivered were a great help. Well done! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-01.htm b/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-01.htm deleted file mode 100644 index 5d802df23e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Magister Rohmer:
-I heard about you from Captain Bathis. You're the one who helped the Sages of Magic study the mutated Kaneus in Kamaloka, aren't you?
-I can now you now that our study is not limited simply to those mutants. Actually, Kamaloka itself is an omen of impending crisis and chaos. Others magisters may think differently, but that's the view of my fellow Sages and myself.
-We hope that by studying the Kaneus, we can determine what specifically triggered the mutations.
-Brave adventurer, you must return to Kamaloka and bring us more tissue samples from the mutated Kaneus. Your act could greatly accelerate our research. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-02.htm b/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-02.htm deleted file mode 100644 index 7f7b84a100..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Rohmer:
-This is it. Tissue samples of the mutated Kaneus!
-Now we can move forward with our study about the mutated Kaneus and the nature of Kamaloka. Soon we will discover their underlying nature! This is only the beginning of a long journey to find the truth.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-03.htm b/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-03.htm deleted file mode 100644 index 8ae21497f9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/30344-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Rohmer:
-Yes. The journey to reveal the truth about Kamaloka and Kaneus can now begin in earnest thanks to the tissue samples you provided.
-But there are still many Kamalokas to be investigated in this world. And it is vital that we gather information about every Kamaloka. You have already become an important member of this study.
-Thank you for your work. Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java b/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java deleted file mode 100644 index b8720e9a4f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q10276_MutatedKaneusGludio; - -import java.util.ArrayList; -import java.util.List; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Mutated Kaneus - Gludio (10276)
- * Original Jython script by Gnacik on 2010-06-29. - * @author nonom - */ -public class Q10276_MutatedKaneusGludio extends Quest -{ - // NPCs - private static final int BATHIS = 30332; - private static final int ROHMER = 30344; - private static final int TOMLAN_KAMOS = 18554; - private static final int OL_ARIOSH = 18555; - // Items - private static final int TISSUE_TK = 13830; - private static final int TISSUE_OA = 13831; - - public Q10276_MutatedKaneusGludio() - { - super(10276, Q10276_MutatedKaneusGludio.class.getSimpleName(), "Mutated Kaneus - Gludio"); - addStartNpc(BATHIS); - addTalkId(BATHIS, ROHMER); - addKillId(TOMLAN_KAMOS, OL_ARIOSH); - registerQuestItems(TISSUE_TK, TISSUE_OA); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - switch (event) - { - case "30332-03.htm": - st.startQuest(); - break; - case "30344-03.htm": - st.giveAdena(8500, true); - st.exitQuest(false, true); - break; - } - return event; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - QuestState st = getQuestState(killer, false); - if (st == null) - { - return null; - } - - final int npcId = npc.getId(); - if (killer.getParty() != null) - { - final List PartyMembers = new ArrayList<>(); - for (L2PcInstance member : killer.getParty().getMembers()) - { - st = getQuestState(member, false); - if ((st != null) && st.isStarted() && (((npcId == TOMLAN_KAMOS) && !st.hasQuestItems(TISSUE_TK)) || ((npcId == OL_ARIOSH) && !st.hasQuestItems(TISSUE_OA)))) - { - PartyMembers.add(st); - } - } - - if (!PartyMembers.isEmpty()) - { - rewardItem(npcId, PartyMembers.get(getRandom(PartyMembers.size()))); - } - } - else if (st.isStarted()) - { - rewardItem(npcId, st); - } - return null; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case BATHIS: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() > 17) ? "30332-01.htm" : "30332-00.htm"; - break; - case State.STARTED: - htmltext = (st.hasQuestItems(TISSUE_TK) && st.hasQuestItems(TISSUE_OA)) ? "30332-05.htm" : "30332-04.htm"; - break; - case State.COMPLETED: - htmltext = "30332-06.htm"; - break; - } - break; - case ROHMER: - switch (st.getState()) - { - case State.STARTED: - htmltext = (st.hasQuestItems(TISSUE_TK) && st.hasQuestItems(TISSUE_OA)) ? "30344-02.htm" : "30344-01.htm"; - break; - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - default: - break; - } - break; - } - return htmltext; - } - - /** - * @param npcId the ID of the killed monster - * @param st the quest state of the killer or party member - */ - private final void rewardItem(int npcId, QuestState st) - { - if ((npcId == TOMLAN_KAMOS) && !st.hasQuestItems(TISSUE_TK)) - { - st.giveItems(TISSUE_TK, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else if ((npcId == OL_ARIOSH) && !st.hasQuestItems(TISSUE_OA)) - { - st.giveItems(TISSUE_OA, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-00.html b/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-00.html deleted file mode 100644 index a5417ea0a0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-00.html +++ /dev/null @@ -1,4 +0,0 @@ -Captain Lucas:
-Based on my observations, I don't think you are yet ready to handle the Kaneus.
-(Only characters level 28 and above are permitted to undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-01.htm b/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-01.htm deleted file mode 100644 index c7fbaf492c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Lucas:
-I heard tales of your recent activities. You have already acquired a reputation as an accomplished adventurer. Perhaps you have already heard about the Mutated Kaneus of Kamaloka. I have been asked to help investigate these strange creatures, but my duties unfortunately keep me far too busy. Perhaps you could help me...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-02.htm b/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-02.htm deleted file mode 100644 index 93d613eeae..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-02.htm +++ /dev/null @@ -1,8 +0,0 @@ -Captain Lucas:
-I heard from Magister Mirien in the Temple of Einhasad that the Sages of Magic, a group of magisters to which Magister Mirien belongs, are researching the Kaneus -- the monsters of the Kamaloka that recently came into existence; he has asked me for a favor.
-Kamaloka exists between this world and the infernal regions; it it regular monsters suddenly mutate into Kaneus.
-But we do not know the specific cause of this mutation.
-To learn more, they've asked me to provide them with cellular tissues of the Kaneus. Will you help me?
-(Only characters able to enter Kamaloka, Hall of the Abyss level 33 and 36, may undertake this quest.)
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-03.html b/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-03.html deleted file mode 100644 index 3a0d750eb0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-03.html +++ /dev/null @@ -1,6 +0,0 @@ -Captain Lucas:
-Excellent! Visit either of the 2 Kamalokas we can enter from Dion, kill the Kaneus there and extract their cellular tissues.
-You will face the Crimson Hatu Otis and Seer Flouros Kaneus. The Crimson Hatu Otis is much weaker, so I'd advise that you pursue it first.
-When you have extracted all the cellular tissues of the 2 creatures, take them to Magister Mirien at the Temple of Einhasad. I know she and the other Sages will appreciate your efforts.
-Good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-04.html b/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-04.html deleted file mode 100644 index d4d1ddee6f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-04.html +++ /dev/null @@ -1,4 +0,0 @@ -Captain Lucas:
-The magisters become agitated if their research is delayed for any reason, so deliver the cellular tissue samples as quickly as possible. Those aren't people you want irritated with you, you know!
-Hurry to Kamaloka, and good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-05.html b/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-05.html deleted file mode 100644 index 5fe6c9d790..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-05.html +++ /dev/null @@ -1,6 +0,0 @@ -Captain Lucas:
-Ah! Are these the cellular tissues of Crimson Hatu and Seer Flouros?
-From their pristine appearance, I can tell you were very careful. I couldn't have done better myself. Well done!
-Now take these samples to Magister Mirien at the Temple of Einhasad. He will be very pleased.
-If we can determine the nature of the mutated Kaneus, your efforts will not be forgotten! But there is no time to waste, so hurry and take these samples to Magister Mirien before they deteriorate! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-06.html b/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-06.html deleted file mode 100644 index aea58c5626..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30071-06.html +++ /dev/null @@ -1,3 +0,0 @@ -Captain Lucas:
-Ah, it's you! Magister Mirien asked me to convey his gratitude to you. He said that the cellular tissues of the mutated Kaneus from the Kamaloka of Dion that you delivered to the were a great help. Well done! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-01.html b/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-01.html deleted file mode 100644 index 735eb9dfc3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-01.html +++ /dev/null @@ -1,6 +0,0 @@ -Magister Mirien:
-I heard about you from Captain Lucas. You'e the one who helped the Sages of Magic study the mutated Kaneus in Kamaloka, aren't you?
-I can now you now that our study is not limited simply to those mutants. Actually, Kamaloka itself is an omen of impending crisis and chaos. Others magisters may think differently, but that's the view of my fellow Sages and myself.
-We hope that by studying the Kaneus, we can determine what specifically triggered the mutations.
-Brave adventurer, you must return to Kamaloka and bring us more tissue samples from the mutated Kaneus. Your act could greatly accelerate our research. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-02.html b/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-02.html deleted file mode 100644 index 70e35f50ed..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-02.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Mirien:
-This is it. Tissue samples of the mutated Kaneus!
-Now we can move forward with our study about the mutated Kaneus and the nature of Kamaloka. Soon we will discover their underlying nature! This is only the beginning of a long journey to find the truth.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-03.html b/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-03.html deleted file mode 100644 index e1f81e6da2..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/30461-03.html +++ /dev/null @@ -1,5 +0,0 @@ -Magister Mirien:
-Yes. The journey to reveal the truth about Kamaloka and Kaneus can now begin in earnest thanks to the tissue samples you provided.
-But there are still many Kamalokas to be investigated in this world. And it is vital that we gather information about every Kamaloka. You have already become an important member of this study.
-Thank you for your work. Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java b/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java deleted file mode 100644 index 7d83bf92b9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q10277_MutatedKaneusDion; - -import java.util.ArrayList; -import java.util.List; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Mutated Kaneus - Dion (10277)
- * Original Jython script by Gnacik on 2010-06-29. - * @author nonom - */ -public class Q10277_MutatedKaneusDion extends Quest -{ - // NPCs - private static final int LUKAS = 30071; - private static final int MIRIEN = 30461; - private static final int CRIMSON_HATU = 18558; - private static final int SEER_FLOUROS = 18559; - // Items - private static final int TISSUE_CH = 13832; - private static final int TISSUE_SF = 13833; - - public Q10277_MutatedKaneusDion() - { - super(10277, Q10277_MutatedKaneusDion.class.getSimpleName(), "Mutated Kaneus - Dion"); - addStartNpc(LUKAS); - addTalkId(LUKAS, MIRIEN); - addKillId(CRIMSON_HATU, SEER_FLOUROS); - registerQuestItems(TISSUE_CH, TISSUE_SF); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - switch (event) - { - case "30071-03.html": - st.startQuest(); - break; - case "30461-03.html": - st.giveAdena(20000, true); - st.exitQuest(false, true); - break; - } - return event; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - QuestState st = getQuestState(killer, false); - if (st == null) - { - return super.onKill(npc, killer, isSummon); - } - - final int npcId = npc.getId(); - if (killer.getParty() != null) - { - final List PartyMembers = new ArrayList<>(); - for (L2PcInstance member : killer.getParty().getMembers()) - { - st = getQuestState(member, false); - if ((st != null) && st.isStarted() && (((npcId == CRIMSON_HATU) && !st.hasQuestItems(TISSUE_CH)) || ((npcId == SEER_FLOUROS) && !st.hasQuestItems(TISSUE_SF)))) - { - PartyMembers.add(st); - } - } - - if (!PartyMembers.isEmpty()) - { - rewardItem(npcId, PartyMembers.get(getRandom(PartyMembers.size()))); - } - } - else if (st.isStarted()) - { - rewardItem(npcId, st); - } - return super.onKill(npc, killer, isSummon); - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case LUKAS: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() > 27) ? "30071-01.htm" : "30071-00.html"; - break; - case State.STARTED: - htmltext = (st.hasQuestItems(TISSUE_CH) && st.hasQuestItems(TISSUE_SF)) ? "30071-05.html" : "30071-04.html"; - break; - case State.COMPLETED: - htmltext = "30071-06.html"; - break; - } - break; - case MIRIEN: - switch (st.getState()) - { - case State.STARTED: - htmltext = (st.hasQuestItems(TISSUE_CH) && st.hasQuestItems(TISSUE_SF)) ? "30461-02.html" : "30461-01.html"; - break; - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - default: - break; - } - break; - } - return htmltext; - } - - /** - * @param npcId the ID of the killed monster - * @param st the quest state of the killer or party member - */ - private final void rewardItem(int npcId, QuestState st) - { - if ((npcId == CRIMSON_HATU) && !st.hasQuestItems(TISSUE_CH)) - { - st.giveItems(TISSUE_CH, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else if ((npcId == SEER_FLOUROS) && !st.hasQuestItems(TISSUE_SF)) - { - st.giveItems(TISSUE_SF, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-01.htm b/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-01.htm deleted file mode 100644 index 6c1020b2fe..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Magister Minevia:
-I heard about you from Captain Gosta. You'e the one who helped the Sages of Magic study the mutated Kaneus in Kamaloka, aren't you?
-I can now you now that our study is not limited simply to those mutants. Actually, Kamaloka itself is an omen of impending crisis and chaos. Others magisters may think differently, but that's the view of my fellow Sages and myself.
-We hope that by studying the Kaneus, we can determine what specifically triggered the mutations.
-Brave adventurer, you must return to Kamaloka and bring us more tissue samples from the mutated Kaneus. Your act could greatly accelerate our research. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-02.htm b/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-02.htm deleted file mode 100644 index 992e9fa6c3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Minevia:
-This is it. Tissue samples of the mutated Kaneus!
-Now we can move forward with our study about the mutated Kaneus and the nature of Kamaloka. Soon we will discover their underlying nature! This is only the beginning of a long journey to find the truth.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-03.htm b/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-03.htm deleted file mode 100644 index da09fe577a..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30907-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Minevia:
-Yes. The journey to reveal the truth about Kamaloka and Kaneus can now begin in earnest thanks to the tissue samples you provided.
-But there are still many Kamalokas to be investigated in this world. And it is vital that we gather information about every Kamaloka. You have already become an important member of this study.
-Thank you for your work. Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-00.htm b/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-00.htm deleted file mode 100644 index 23518d5c49..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-00.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Gosta:
-Based on my observations, I don't think you are yet ready to handle the Kaneus.
-(Only characters level 38 and above are permitted to undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-01.htm b/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-01.htm deleted file mode 100644 index 2c8e877eb3..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Gosta:
-I heard tales of your recent activities. You have already acquired a reputation as an accomplished adventurer. Perhaps you have already heard about the Mutated Kaneus of Kamaloka. I have been asked to help investigate these strange creatures, but my duties unfortunately keep me far too busy. Perhaps you could help me...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-02.htm b/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-02.htm deleted file mode 100644 index 33db21fa5f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-02.htm +++ /dev/null @@ -1,8 +0,0 @@ -Captain Gosta:
-The favor I ask is on behalf of Magister Minevia of the Temple of Einhasad. The Sages of Magic, a group of magisters of which Magister Minevia is a member, are researching the Kaneus: recently discovered monsters of Kamaloka.
-They know that Kamaloka exists between this world and the infernal regions; "normal" monsters in that region mutate into the Kaneus.
-They do not know the cause of this mutation, however.
-To assist their research into this matter, they asked me to obtain some cellular tissues of the Kaneus.Will you help me?
-(You may only undertake this quest only if you are eligible to enter Kamaloka, Hall of the Abyss, level 43 and 46.)
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-03.htm b/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-03.htm deleted file mode 100644 index 183e7c2a29..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Captain Gosta:
-Excellent! Visit either of the 2 Kamalokas we can enter from Heine, kill the Kaneus there and extract their cellular tissues.
-You will face the Blade Otis and Weird Bunei Kaneus. The Blade Otis is much weaker, so I'd advise that you pursue it first.
-When you have extracted all the cellular tissues of the 2 creatures, take them to Magister Minevia at the Temple of Einhasad. I know she and the other Sages will appreciate your efforts.
-Good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-04.htm b/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-04.htm deleted file mode 100644 index b3eb8b67fc..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Gosta:
-The magisters become agitated if their research is delayed for any reason, so deliver the cellular tissue samples as quickly as possible. Those aren't people you want irritated with you, you know!
-Hurry to Kamaloka, and good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-05.htm b/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-05.htm deleted file mode 100644 index dc117fe111..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-05.htm +++ /dev/null @@ -1,6 +0,0 @@ -Captain Gosta:
-Ah! Are these the cellular tissues of Blade Otis and Weird Bunei?
-From their pristine appearance, I can tell you were very careful. I couldn't have done better myself. Well done!
-Now take these samples to Magister Minevia at the Temple of Einhasad. He will be very pleased.
-If we can determine the nature of the mutated Kaneus, your efforts will not be forgotten! But there is no time to waste, so hurry and take these samples to Magister Minevia before they deteriorate! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-06.htm b/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-06.htm deleted file mode 100644 index f00086bb8e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/30916-06.htm +++ /dev/null @@ -1,3 +0,0 @@ -Captain Gosta:
-Ah, it's you! Magister Minevia asked me to convey his gratitude to you. He said that the cellular tissues of the mutated Kaneus from the Kamaloka of Heine that you delivered to the Sages of Magic were a great help. Well done! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java b/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java deleted file mode 100644 index 9b2f3af109..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q10278_MutatedKaneusHeine; - -import java.util.ArrayList; -import java.util.List; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Mutated Kaneus - Heine (10278)
- * Original Jython script by Gnacik on 2010-06-29. - * @author nonom - */ -public class Q10278_MutatedKaneusHeine extends Quest -{ - // NPCs - private static final int GOSTA = 30916; - private static final int MINEVIA = 30907; - private static final int BLADE_OTIS = 18562; - private static final int WEIRD_BUNEI = 18564; - // Items - private static final int TISSUE_BO = 13834; - private static final int TISSUE_WB = 13835; - - public Q10278_MutatedKaneusHeine() - { - super(10278, Q10278_MutatedKaneusHeine.class.getSimpleName(), "Mutated Kaneus - Heine"); - addStartNpc(GOSTA); - addTalkId(GOSTA, MINEVIA); - addKillId(BLADE_OTIS, WEIRD_BUNEI); - registerQuestItems(TISSUE_BO, TISSUE_WB); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - switch (event) - { - case "30916-03.htm": - st.startQuest(); - break; - case "30907-03.htm": - st.giveAdena(50000, true); - st.exitQuest(false, true); - break; - } - return event; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - QuestState st = getQuestState(killer, false); - if (st == null) - { - return null; - } - - final int npcId = npc.getId(); - if (killer.getParty() != null) - { - final List PartyMembers = new ArrayList<>(); - for (L2PcInstance member : killer.getParty().getMembers()) - { - st = getQuestState(member, false); - if ((st != null) && st.isStarted() && (((npcId == BLADE_OTIS) && !st.hasQuestItems(TISSUE_BO)) || ((npcId == WEIRD_BUNEI) && !st.hasQuestItems(TISSUE_WB)))) - { - PartyMembers.add(st); - } - } - - if (!PartyMembers.isEmpty()) - { - rewardItem(npcId, PartyMembers.get(getRandom(PartyMembers.size()))); - } - } - else if (st.isStarted()) - { - rewardItem(npcId, st); - } - return null; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case GOSTA: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() > 37) ? "30916-01.htm" : "30916-00.htm"; - break; - case State.STARTED: - htmltext = (st.hasQuestItems(TISSUE_BO) && st.hasQuestItems(TISSUE_WB)) ? "30916-05.htm" : "30916-04.htm"; - break; - case State.COMPLETED: - htmltext = "30916-06.htm"; - break; - } - break; - case MINEVIA: - switch (st.getState()) - { - case State.STARTED: - htmltext = (st.hasQuestItems(TISSUE_BO) && st.hasQuestItems(TISSUE_WB)) ? "30907-02.htm" : "30907-01.htm"; - break; - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - default: - break; - } - break; - } - return htmltext; - } - - /** - * @param npcId the ID of the killed monster - * @param st the quest state of the killer or party member - */ - private final void rewardItem(int npcId, QuestState st) - { - if ((npcId == BLADE_OTIS) && !st.hasQuestItems(TISSUE_BO)) - { - st.giveItems(TISSUE_BO, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else if ((npcId == WEIRD_BUNEI) && !st.hasQuestItems(TISSUE_WB)) - { - st.giveItems(TISSUE_WB, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-01.htm b/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-01.htm deleted file mode 100644 index 5f10ce343c..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Magister Rovia:
-I heard about you from Captain Mouen. You'e the one who helped the Sages of Magic study the mutated Kaneus in Kamaloka, aren't you?
-I can now you now that our study is not limited simply to those mutants. Actually, Kamaloka itself is an omen of impending crisis and chaos. Others magisters may think differently, but that's the view of my fellow Sages and myself.
-We hope that by studying the Kaneus, we can determine what specifically triggered the mutations.
-Brave adventurer, you must return to Kamaloka and bring us more tissue samples from the mutated Kaneus. Your act could greatly accelerate our research. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-02.htm b/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-02.htm deleted file mode 100644 index 078666a793..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Rovia:
-This is it. Tissue samples of the mutated Kaneus!
-Now we can move forward with our study about the mutated Kaneus and the nature of Kamaloka. Soon we will discover their underlying nature! This is only the beginning of a long journey to find the truth.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-03.htm b/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-03.htm deleted file mode 100644 index cb7ad7d93e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30189-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Rovia:
-Yes. The journey to reveal the truth about Kamaloka and Kaneus can now begin in earnest thanks to the tissue samples you provided.
-But there are still many Kamalokas to be investigated in this world. And it is vital that we gather information about every Kamaloka. You have already become an important member of this study.
-Thank you for your work. Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-00.htm b/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-00.htm deleted file mode 100644 index beb4e48772..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-00.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Mouen:
-Based on my observations, I don't think you are yet ready to handle the Kaneus.
-(Only characters level 48 and above are permitted to undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-01.htm b/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-01.htm deleted file mode 100644 index 9d192aad67..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Mouen:
-I heard tales of your recent activities. You have already acquired a reputation as an accomplished adventurer. Perhaps you have already heard about the Mutated Kaneus of Kamaloka. I have been asked to help investigate these strange creatures, but my duties unfortunately keep me far too busy. Perhaps you could help me...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-02.htm b/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-02.htm deleted file mode 100644 index 00866ced2e..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-02.htm +++ /dev/null @@ -1,8 +0,0 @@ -Captain Mouen:
-The favor I ask is on behalf of Magister Rovia of the Temple of Einhasad. The Sages of Magic, a group of magisters of which Magister Rovia is a member, are researching the Kaneus: recently discovered monsters of Kamaloka.
-They know that Kamaloka exists between this world and the infernal regions; "normal" monsters in that region mutate into the Kaneus.
-They do not know the cause of this mutation, however.
-To assist their research into this matter, they asked me to obtain some cellular tissues of the Kaneus. Will you help me?
-(Only characters who may enter Kamaloka, Hall of the Abyss level 53 and 56, may undertake this quest.)
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-03.htm b/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-03.htm deleted file mode 100644 index af333c97aa..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Captain Mouen:
-Excellent! Visit either of the 2 Kamalokas we can enter from Oren, kill the Kaneus there and extract their cellular tissues.
-You will face the Kaim Abigore and Knight Montagnar Kaneus. The Kaim Abigore is much weaker, so I'd advise that you pursue it first.
-When you have extracted all the cellular tissues of the 2 creatures, take them to Magister Rovia at the Temple of Einhasad. I know she and the other Sages will appreciate your efforts.
-Good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-04.htm b/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-04.htm deleted file mode 100644 index ca2d15afd0..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Mouen:
-The magisters become agitated if their research is delayed for any reason, so deliver the cellular tissue samples as quickly as possible. Those aren't people you want irritated with you, you know!
-Hurry to Kamaloka, and good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-05.htm b/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-05.htm deleted file mode 100644 index 97906fe4eb..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-05.htm +++ /dev/null @@ -1,6 +0,0 @@ -Captain Mouen:
-Ah! Are these the cellular tissues of Kaim Abigore and Knight Montagnar?
-From their pristine appearance, I can tell you were very careful. I couldn't have done better myself. Well done!
-Now take these samples to Magister Rovia at the Temple of Einhasad. He will be very pleased.
-If we can determine the nature of the mutated Kaneus, your efforts will not be forgotten! But there is no time to waste, so hurry and take these samples to Magister Rovia before they deteriorate! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-06.htm b/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-06.htm deleted file mode 100644 index d20a1df4a1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/30196-06.htm +++ /dev/null @@ -1,3 +0,0 @@ -Captain Mouen:
-Ah, it's you! Magister Rovia asked me to convey his gratitude to you. He said that the cellular tissues of the mutated Kaneus from the Kamaloka of Oren that you delivered to the Sages of Magic were a great help. Well done! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java b/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java deleted file mode 100644 index 31f24c67cf..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q10279_MutatedKaneusOren; - -import java.util.ArrayList; -import java.util.List; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Mutated Kaneus - Oren (10279)
- * Original Jython script by Gnacik on 2010-06-29. - * @author nonom - */ -public class Q10279_MutatedKaneusOren extends Quest -{ - // NPCs - private static final int MOUEN = 30196; - private static final int ROVIA = 30189; - private static final int KAIM_ABIGORE = 18566; - private static final int KNIGHT_MONTAGNAR = 18568; - // Items - private static final int TISSUE_KA = 13836; - private static final int TISSUE_KM = 13837; - - public Q10279_MutatedKaneusOren() - { - super(10279, Q10279_MutatedKaneusOren.class.getSimpleName(), "Mutated Kaneus - Oren"); - addStartNpc(MOUEN); - addTalkId(MOUEN, ROVIA); - addKillId(KAIM_ABIGORE, KNIGHT_MONTAGNAR); - registerQuestItems(TISSUE_KA, TISSUE_KM); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - switch (event) - { - case "30196-03.htm": - st.startQuest(); - break; - case "30189-03.htm": - st.giveAdena(100000, true); - st.exitQuest(false, true); - break; - } - return event; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - QuestState st = getQuestState(killer, false); - if (st == null) - { - return null; - } - - final int npcId = npc.getId(); - if (killer.getParty() != null) - { - final List PartyMembers = new ArrayList<>(); - for (L2PcInstance member : killer.getParty().getMembers()) - { - st = getQuestState(member, false); - if ((st != null) && st.isStarted() && (((npcId == KAIM_ABIGORE) && !st.hasQuestItems(TISSUE_KA)) || ((npcId == KNIGHT_MONTAGNAR) && !st.hasQuestItems(TISSUE_KM)))) - { - PartyMembers.add(st); - } - } - - if (!PartyMembers.isEmpty()) - { - rewardItem(npcId, PartyMembers.get(getRandom(PartyMembers.size()))); - } - } - else if (st.isStarted()) - { - rewardItem(npcId, st); - } - return null; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case MOUEN: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() > 47) ? "30196-01.htm" : "30196-00.htm"; - break; - case State.STARTED: - htmltext = (st.hasQuestItems(TISSUE_KA) && st.hasQuestItems(TISSUE_KM)) ? "30196-05.htm" : "30196-04.htm"; - break; - case State.COMPLETED: - htmltext = "30916-06.htm"; - break; - } - break; - case ROVIA: - switch (st.getState()) - { - case State.STARTED: - htmltext = (st.hasQuestItems(TISSUE_KA) && st.hasQuestItems(TISSUE_KM)) ? "30189-02.htm" : "30189-01.htm"; - break; - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - default: - break; - } - break; - } - return htmltext; - } - - /** - * @param npcId the ID of the killed monster - * @param st the quest state of the killer or party member - */ - private final void rewardItem(int npcId, QuestState st) - { - if ((npcId == KAIM_ABIGORE) && !st.hasQuestItems(TISSUE_KA)) - { - st.giveItems(TISSUE_KA, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else if ((npcId == KNIGHT_MONTAGNAR) && !st.hasQuestItems(TISSUE_KM)) - { - st.giveItems(TISSUE_KM, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-01.htm b/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-01.htm deleted file mode 100644 index cdfeaf8422..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Magister Atraxia:
-I heard about you from Captain Vishotsky. You'e the one who helped the Sages of Magic study the mutated Kaneus in Kamaloka, aren't you?
-I can now you now that our study is not limited simply to those mutants. Actually, Kamaloka itself is an omen of impending crisis and chaos. Others magisters may think differently, but that's the view of my fellow Sages and myself.
-We hope that by studying the Kaneus, we can determine what specifically triggered the mutations.
-Brave adventurer, you must return to Kamaloka and bring us more tissue samples from the mutated Kaneus. Your act could greatly accelerate our research. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-02.htm b/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-02.htm deleted file mode 100644 index a9afb1a644..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Atraxia:
-This is it. Tissue samples of the mutated Kaneus!
-Now we can move forward with our study about the mutated Kaneus and the nature of Kamaloka. Soon we will discover their underlying nature! This is only the beginning of a long journey to find the truth.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-03.htm b/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-03.htm deleted file mode 100644 index 54b5658f0f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31972-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Atraxia:
-Yes. The journey to reveal the truth about Kamaloka and Kaneus can now begin in earnest thanks to the tissue samples you provided.
-But there are still many Kamalokas to be investigated in this world. And it is vital that we gather information about every Kamaloka. You have already become an important member of this study.
-Thank you for your work. Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-00.htm b/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-00.htm deleted file mode 100644 index e51d3c1aa6..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-00.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Vishotsky:
-Based on my observations, I don't think you are yet ready to handle the Kaneus here.
-(Only characters level 58 and above are permitted to undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-01.htm b/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-01.htm deleted file mode 100644 index a8cdef8f6f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Vishotsky:
-I heard tales of your recent activities. You have already acquired a reputation as an accomplished adventurer. Perhaps you have already heard about the Mutated Kaneus of Kamaloka. I have been asked to help investigate these strange creatures, but my duties unfortunately keep me far too busy. Perhaps you could help me...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-02.htm b/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-02.htm deleted file mode 100644 index 0ea65a6927..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-02.htm +++ /dev/null @@ -1,8 +0,0 @@ -Captain Vishotsky:
-The favor I ask is on behalf of Magister Atraxia of the Temple of Einhasad. The Sages of Magic, a group of magisters of which Magister Atraxia is a member, are researching the Kaneus: recently discovered monsters of Kamaloka.
-They know that Kamaloka exists between this world and the infernal regions; "normal" monsters in that region mutate into the Kaneus.
-They do not know the cause of this mutation, however.
-To assist their research into this matter, they asked me to obtain some cellular tissues of the Kaneus.Will you help me?
-(You may only undertake this quest only if you are eligible to enter Kamaloka, Hall of the Abyss, level 63 and 66.)
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-03.htm b/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-03.htm deleted file mode 100644 index cc3f8fb8fd..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Captain Vishotsky:
-Excellent! Visit either of the 2 Kamalokas we can enter from Schuttgart, kill the Kaneus there and extract their cellular tissues.
-You will face the Venomous Storace and Kel Bilette Kaneus. The Venomous Storace is much weaker, so I'd advise that you pursue it first.
-When you have extracted all the cellular tissues of the 2 creatures, take them to Magister Atraxia at the Temple of Einhasad. I know she and the other Sages will appreciate your efforts.
-Good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-04.htm b/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-04.htm deleted file mode 100644 index 24045a606f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Vishotsky:
-The magisters become agitated if their research is delayed for any reason, so deliver the cellular tissue samples as quickly as possible. Those aren't people you want irritated with you, you know!
-Hurry to Kamaloka, and good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-05.htm b/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-05.htm deleted file mode 100644 index b4f51599a4..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-05.htm +++ /dev/null @@ -1,6 +0,0 @@ -Captain Vishotsky:
-Ah! Are these the cellular tissues of Venomous Storace and Kel Bilette?
-From their pristine appearance, I can tell you were very careful. I couldn't have done better myself. Well done!
-Now take these samples to Magister Atraxia at the Temple of Einhasad. He will be very pleased.
-If we can determine the nature of the mutated Kaneus, your efforts will not be forgotten! But there is no time to waste, so hurry and take these samples to Magister Atraxia before they deteriorate! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-06.htm b/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-06.htm deleted file mode 100644 index df03fbd303..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/31981-06.htm +++ /dev/null @@ -1,3 +0,0 @@ -Captain Vishotsky:
-Ah, it's you! Magister Atraxia asked me to convey his gratitude to you. He said that the cellular tissues of the mutated Kaneus from the Kamaloka of Schuttgart that you delivered to the Sages of Magic were a great help. Well done! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java b/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java deleted file mode 100644 index 9226e6b2b9..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q10280_MutatedKaneusSchuttgart; - -import java.util.ArrayList; -import java.util.List; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Mutated Kaneus - Schuttgart (10280)
- * Original Jython script by Gnacik on 2010-06-29. - * @author nonom - */ -public class Q10280_MutatedKaneusSchuttgart extends Quest -{ - // NPCs - private static final int VISHOTSKY = 31981; - private static final int ATRAXIA = 31972; - private static final int VENOMOUS_STORACE = 18571; - private static final int KEL_BILETTE = 18573; - // Items - private static final int TISSUE_VS = 13838; - private static final int TISSUE_KB = 13839; - - public Q10280_MutatedKaneusSchuttgart() - { - super(10280, Q10280_MutatedKaneusSchuttgart.class.getSimpleName(), "Mutated Kaneus - Schuttgart"); - addStartNpc(VISHOTSKY); - addTalkId(VISHOTSKY, ATRAXIA); - addKillId(VENOMOUS_STORACE, KEL_BILETTE); - registerQuestItems(TISSUE_VS, TISSUE_KB); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - switch (event) - { - case "31981-03.htm": - st.startQuest(); - break; - case "31972-03.htm": - st.giveAdena(210000, true); - st.exitQuest(false, true); - break; - } - return event; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - QuestState st = getQuestState(killer, false); - if (st == null) - { - return null; - } - - final int npcId = npc.getId(); - if (killer.getParty() != null) - { - final List PartyMembers = new ArrayList<>(); - for (L2PcInstance member : killer.getParty().getMembers()) - { - st = getQuestState(member, false); - if ((st != null) && st.isStarted() && (((npcId == VENOMOUS_STORACE) && !st.hasQuestItems(TISSUE_VS)) || ((npcId == KEL_BILETTE) && !st.hasQuestItems(TISSUE_KB)))) - { - PartyMembers.add(st); - } - } - - if (!PartyMembers.isEmpty()) - { - rewardItem(npcId, PartyMembers.get(getRandom(PartyMembers.size()))); - } - } - else if (st.isStarted()) - { - rewardItem(npcId, st); - } - return null; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case VISHOTSKY: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() > 57) ? "31981-01.htm" : "31981-00.htm"; - break; - case State.STARTED: - htmltext = (st.hasQuestItems(TISSUE_VS) && st.hasQuestItems(TISSUE_KB)) ? "31981-05.htm" : "31981-04.htm"; - break; - case State.COMPLETED: - htmltext = "31981-06.htm"; - break; - } - break; - case ATRAXIA: - switch (st.getState()) - { - case State.STARTED: - htmltext = (st.hasQuestItems(TISSUE_VS) && st.hasQuestItems(TISSUE_KB)) ? "31972-02.htm" : "31972-01.htm"; - break; - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - default: - break; - } - break; - } - return htmltext; - } - - /** - * @param npcId the ID of the killed monster - * @param st the quest state of the killer or party member - */ - private final void rewardItem(int npcId, QuestState st) - { - if ((npcId == VENOMOUS_STORACE) && !st.hasQuestItems(TISSUE_VS)) - { - st.giveItems(TISSUE_VS, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - else if ((npcId == KEL_BILETTE) && !st.hasQuestItems(TISSUE_KB)) - { - st.giveItems(TISSUE_KB, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-01.htm b/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-01.htm deleted file mode 100644 index f01ecaa6da..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-01.htm +++ /dev/null @@ -1,6 +0,0 @@ -Magister Kayan:
-I heard about you from Captain Mathias. You'e the one who helped the Sages of Magic study the mutated Kaneus in Kamaloka, aren't you?
-I can now you now that our study is not limited simply to those mutants. Actually, Kamaloka itself is an omen of impending crisis and chaos. Others magisters may think differently, but that's the view of my fellow Sages and myself.
-We hope that by studying the Kaneus, we can determine what specifically triggered the mutations.
-Brave adventurer, you must return to Kamaloka and bring us more tissue samples from the mutated Kaneus. Your act could greatly accelerate our research. - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-02.htm b/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-02.htm deleted file mode 100644 index 4ccb922b64..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-02.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Kayan:
-This is it. Tissue samples of the mutated Kaneus!
-Now we can move forward with our study about the mutated Kaneus and the nature of Kamaloka. Soon we will discover their underlying nature! This is only the beginning of a long journey to find the truth.
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-03.htm b/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-03.htm deleted file mode 100644 index 68f21bced1..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31335-03.htm +++ /dev/null @@ -1,5 +0,0 @@ -Magister Kayan:
-Yes. The journey to reveal the truth about Kamaloka and Kaneus can now begin in earnest thanks to the tissue samples you provided.
-But there are still many Kamalokas to be investigated in this world. And it is vital that we gather information about every Kamaloka. You have already become an important member of this study.
-Thank you for your work. Good luck! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-00.htm b/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-00.htm deleted file mode 100644 index 893106a43d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-00.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Mathias:
-Based on my observations, I don't think you are yet ready to handle the Kaneus here.
-(Only characters level 68 and above are permitted to undertake this quest.) - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-01.htm b/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-01.htm deleted file mode 100644 index 554d0bacc7..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-01.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Mathias:
-I heard tales of your recent activities. You have already acquired a reputation as an accomplished adventurer. Perhaps you have already heard about the Mutated Kaneus of Kamaloka. I have been asked to help investigate these strange creatures, but my duties unfortunately keep me far too busy. Perhaps you could help me...
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-02.htm b/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-02.htm deleted file mode 100644 index 5a4280d90d..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-02.htm +++ /dev/null @@ -1,8 +0,0 @@ -Captain Mathias:
-The favor I ask is on behalf of Magister Kayan of the Temple of Einhasad. The Sages of Magic, a group of magisters of which Magister Kayan is a member, are researching the Kaneus: recently discovered monsters of Kamaloka.
-They know that Kamaloka exists between this world and the infernal regions; "normal" monsters in that region mutate into the Kaneus.
-They do not know the cause of this mutation, however.
-To assist their research into this matter, they asked me to obtain some cellular tissues of the Kaneus.Will you help me?
-(You may only undertake this quest only if you are eligible to enter Kamaloka, Hall of the Abyss, level 73.)
- - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-03.htm b/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-03.htm deleted file mode 100644 index ab092eb99f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-03.htm +++ /dev/null @@ -1,6 +0,0 @@ -Captain Mathias:
-Excellent! Visit the Kamaloka we can enter from Rune, kill the Kaneus there and extract their cellular tissues.
-You will face the White Allosce Kaneus.
-When you have extracted all the cellular tissues of the Kaneus, take them to Magister Kayan at the Temple of Einhasad. I know he and the other Sages will appreciate your efforts.
-Good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-04.htm b/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-04.htm deleted file mode 100644 index 0d6fecd268..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-04.htm +++ /dev/null @@ -1,4 +0,0 @@ -Captain Mathias:
-The magisters become agitated if their research is delayed for any reason, so deliver the cellular tissue samples as quickly as possible. Those aren't people you want irritated with you, you know!
-Hurry to Kamaloka, and good hunting! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-05.htm b/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-05.htm deleted file mode 100644 index b6adc03803..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-05.htm +++ /dev/null @@ -1,6 +0,0 @@ -Captain Mathias:
-Ah! Are these the cellular tissue of White Allosce?
-From their pristine appearance, I can tell you were very careful. I couldn't have done better myself. Well done!
-Now take these samples to Magister Kayan at the Temple of Einhasad. He will be very pleased.
-If we can determine the nature of the mutated Kaneus, your efforts will not be forgotten! But there is no time to waste, so hurry and take these samples to Magister Kayan before they deteriorate! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-06.htm b/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-06.htm deleted file mode 100644 index fd72f33d63..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/31340-06.htm +++ /dev/null @@ -1,3 +0,0 @@ -Captain Mathias:
-Ah, it's you! Magister Kayan asked me to convey his gratitude to you. He said that the cellular tissues of the mutated Kaneus from the Kamaloka of Rune that you delivered to the Sages of Magic were a great help. Well done! - \ No newline at end of file diff --git a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java b/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java deleted file mode 100644 index d74c4eaf3f..0000000000 --- a/trunk/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Copyright (C) 2004-2015 L2J DataPack - * - * This file is part of L2J DataPack. - * - * L2J DataPack is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * L2J DataPack is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package quests.Q10281_MutatedKaneusRune; - -import java.util.ArrayList; -import java.util.List; - -import com.l2jserver.gameserver.enums.QuestSound; -import com.l2jserver.gameserver.model.actor.L2Npc; -import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.quest.Quest; -import com.l2jserver.gameserver.model.quest.QuestState; -import com.l2jserver.gameserver.model.quest.State; - -/** - * Mutated Kaneus - Rune (10281)
- * Original Jython script by Gnacik on 2010-06-29. - * @author nonom - */ -public class Q10281_MutatedKaneusRune extends Quest -{ - // NPCs - private static final int MATHIAS = 31340; - private static final int KAYAN = 31335; - private static final int WHITE_ALLOSCE = 18577; - // Item - private static final int TISSUE_WA = 13840; - - public Q10281_MutatedKaneusRune() - { - super(10281, Q10281_MutatedKaneusRune.class.getSimpleName(), "Mutated Kaneus - Rune"); - addStartNpc(MATHIAS); - addTalkId(MATHIAS, KAYAN); - addKillId(WHITE_ALLOSCE); - registerQuestItems(TISSUE_WA); - } - - @Override - public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) - { - final QuestState st = getQuestState(player, false); - if (st == null) - { - return getNoQuestMsg(player); - } - - switch (event) - { - case "31340-03.htm": - st.startQuest(); - break; - case "31335-03.htm": - st.giveAdena(360000, true); - st.exitQuest(false, true); - break; - } - return event; - } - - @Override - public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) - { - QuestState st = getQuestState(killer, false); - if (st == null) - { - return null; - } - - final int npcId = npc.getId(); - if (killer.getParty() != null) - { - final List PartyMembers = new ArrayList<>(); - for (L2PcInstance member : killer.getParty().getMembers()) - { - st = getQuestState(member, false); - if ((st != null) && st.isStarted() && !st.hasQuestItems(TISSUE_WA)) - { - PartyMembers.add(st); - } - } - - if (!PartyMembers.isEmpty()) - { - rewardItem(npcId, PartyMembers.get(getRandom(PartyMembers.size()))); - } - } - else if (st.isStarted() && !st.hasQuestItems(TISSUE_WA)) - { - rewardItem(npcId, st); - } - return null; - } - - @Override - public String onTalk(L2Npc npc, L2PcInstance player) - { - String htmltext = getNoQuestMsg(player); - final QuestState st = getQuestState(player, true); - if (st == null) - { - return htmltext; - } - - switch (npc.getId()) - { - case MATHIAS: - switch (st.getState()) - { - case State.CREATED: - htmltext = (player.getLevel() > 67) ? "31340-01.htm" : "31340-00.htm"; - break; - case State.STARTED: - htmltext = st.hasQuestItems(TISSUE_WA) ? "31340-05.htm" : "31340-04.htm"; - break; - case State.COMPLETED: - htmltext = "31340-06.htm"; - break; - } - break; - case KAYAN: - switch (st.getState()) - { - case State.STARTED: - htmltext = st.hasQuestItems(TISSUE_WA) ? "31335-02.htm" : "31335-01.htm"; - break; - case State.COMPLETED: - htmltext = getAlreadyCompletedMsg(player); - break; - default: - break; - } - break; - } - return htmltext; - } - - /** - * @param npcId the ID of the killed monster - * @param st the quest state of the killer or party member - */ - private final void rewardItem(int npcId, QuestState st) - { - st.giveItems(TISSUE_WA, 1); - st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET); - } -} diff --git a/trunk/dist/game/data/scripts/quests/Q10285_MeetingSirra/Q10285_MeetingSirra.java b/trunk/dist/game/data/scripts/quests/Q10285_MeetingSirra/Q10285_MeetingSirra.java index c1ec5723f1..e7d0d53b31 100644 --- a/trunk/dist/game/data/scripts/quests/Q10285_MeetingSirra/Q10285_MeetingSirra.java +++ b/trunk/dist/game/data/scripts/quests/Q10285_MeetingSirra/Q10285_MeetingSirra.java @@ -20,6 +20,7 @@ package quests.Q10285_MeetingSirra; import quests.Q10284_AcquisitionOfDivineSword.Q10284_AcquisitionOfDivineSword; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -29,7 +30,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -105,7 +105,7 @@ public final class Q10285_MeetingSirra extends Quest if (st.isMemoState(1) && (st.getInt("ex") == 2)) { final L2Npc sirra = addSpawn(SIRRA, -23905, -8790, -5384, 56238, false, 0, false, npc.getInstanceId()); - sirra.broadcastPacket(new NpcSay(sirra.getObjectId(), Say2.NPC_ALL, sirra.getId(), NpcStringId.THERE_S_NOTHING_YOU_CAN_T_SAY_I_CAN_T_LISTEN_TO_YOU_ANYMORE)); + sirra.broadcastPacket(new NpcSay(sirra.getObjectId(), ChatType.NPC_GENERAL, sirra.getId(), NpcStringId.THERE_S_NOTHING_YOU_CAN_T_SAY_I_CAN_T_LISTEN_TO_YOU_ANYMORE)); st.set("ex", 3); st.setCond(5, true); htmltext = event; diff --git a/trunk/dist/game/data/scripts/quests/Q10286_ReunionWithSirra/Q10286_ReunionWithSirra.java b/trunk/dist/game/data/scripts/quests/Q10286_ReunionWithSirra/Q10286_ReunionWithSirra.java index 866ca79b19..73ffda210b 100644 --- a/trunk/dist/game/data/scripts/quests/Q10286_ReunionWithSirra/Q10286_ReunionWithSirra.java +++ b/trunk/dist/game/data/scripts/quests/Q10286_ReunionWithSirra/Q10286_ReunionWithSirra.java @@ -20,6 +20,7 @@ package quests.Q10286_ReunionWithSirra; import quests.Q10285_MeetingSirra.Q10285_MeetingSirra; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -29,7 +30,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -93,7 +93,7 @@ public final class Q10286_ReunionWithSirra extends Quest if (st.isMemoState(1)) { final L2Npc sirra = addSpawn(SIRRA, -23905, -8790, -5384, 56238, false, 0, false, npc.getInstanceId()); - sirra.broadcastPacket(new NpcSay(sirra.getObjectId(), Say2.NPC_ALL, sirra.getId(), NpcStringId.YOU_ADVANCED_BRAVELY_BUT_GOT_SUCH_A_TINY_RESULT_HOHOHO)); + sirra.broadcastPacket(new NpcSay(sirra.getObjectId(), ChatType.NPC_GENERAL, sirra.getId(), NpcStringId.YOU_ADVANCED_BRAVELY_BUT_GOT_SUCH_A_TINY_RESULT_HOHOHO)); st.set("ex", 1); st.setCond(3, true); htmltext = event; diff --git a/trunk/dist/game/data/scripts/quests/Q10320_LetsGoToTheCentralSquare/Q10320_LetsGoToTheCentralSquare.java b/trunk/dist/game/data/scripts/quests/Q10320_LetsGoToTheCentralSquare/Q10320_LetsGoToTheCentralSquare.java index a8515e10a0..0c37e7dd78 100644 --- a/trunk/dist/game/data/scripts/quests/Q10320_LetsGoToTheCentralSquare/Q10320_LetsGoToTheCentralSquare.java +++ b/trunk/dist/game/data/scripts/quests/Q10320_LetsGoToTheCentralSquare/Q10320_LetsGoToTheCentralSquare.java @@ -18,6 +18,7 @@ */ package quests.Q10320_LetsGoToTheCentralSquare; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.Race; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; @@ -32,7 +33,6 @@ import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.model.zone.L2ZoneType; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.network.serverpackets.TutorialShowHtml; import com.l2jserver.gameserver.util.Broadcast; @@ -96,7 +96,7 @@ public final class Q10320_LetsGoToTheCentralSquare extends Quest addExpAndSp(player, 30, 5); qs.exitQuest(false, true); htmltext = event; - Broadcast.toKnownPlayers(npc, new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getTemplate().getDisplayId(), NpcStringId.WAIT_WAIT_A_MINUTE_I_STILL_HAVE_TIME)); + Broadcast.toKnownPlayers(npc, new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getTemplate().getDisplayId(), NpcStringId.WAIT_WAIT_A_MINUTE_I_STILL_HAVE_TIME)); break; } } diff --git a/trunk/dist/game/data/scripts/quests/Q10321_QualificationsOfTheSeeker/Q10321_QualificationsOfTheSeeker.java b/trunk/dist/game/data/scripts/quests/Q10321_QualificationsOfTheSeeker/Q10321_QualificationsOfTheSeeker.java index 58eafb6563..dfe697799c 100644 --- a/trunk/dist/game/data/scripts/quests/Q10321_QualificationsOfTheSeeker/Q10321_QualificationsOfTheSeeker.java +++ b/trunk/dist/game/data/scripts/quests/Q10321_QualificationsOfTheSeeker/Q10321_QualificationsOfTheSeeker.java @@ -20,13 +20,13 @@ package quests.Q10321_QualificationsOfTheSeeker; import quests.Q10320_LetsGoToTheCentralSquare.Q10320_LetsGoToTheCentralSquare; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.network.serverpackets.TutorialShowHtml; import com.l2jserver.gameserver.util.Broadcast; @@ -81,7 +81,7 @@ public final class Q10321_QualificationsOfTheSeeker extends Quest giveAdena(player, 50, true); addExpAndSp(player, 40, 5); qs.exitQuest(false, true); - Broadcast.toKnownPlayers(npc, new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getTemplate().getDisplayId(), NpcStringId.HM_DON_T_JUST_GO_I_STILL_HAVE_TONS_TO_TEACH_YOU)); + Broadcast.toKnownPlayers(npc, new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getTemplate().getDisplayId(), NpcStringId.HM_DON_T_JUST_GO_I_STILL_HAVE_TONS_TO_TEACH_YOU)); htmltext = event; break; } diff --git a/trunk/dist/game/data/scripts/quests/Q10322_SearchingForTheMysteriousPower/Q10322_SearchingForTheMysteriousPower.java b/trunk/dist/game/data/scripts/quests/Q10322_SearchingForTheMysteriousPower/Q10322_SearchingForTheMysteriousPower.java index 79219db79c..9489642bd9 100644 --- a/trunk/dist/game/data/scripts/quests/Q10322_SearchingForTheMysteriousPower/Q10322_SearchingForTheMysteriousPower.java +++ b/trunk/dist/game/data/scripts/quests/Q10322_SearchingForTheMysteriousPower/Q10322_SearchingForTheMysteriousPower.java @@ -20,6 +20,7 @@ package quests.Q10322_SearchingForTheMysteriousPower; import quests.Q10321_QualificationsOfTheSeeker.Q10321_QualificationsOfTheSeeker; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.holders.SkillHolder; @@ -27,7 +28,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.network.serverpackets.TutorialShowHtml; @@ -247,7 +247,7 @@ public final class Q10322_SearchingForTheMysteriousPower extends Quest giveItems(player, APPRENTICE_ADVENTURERS_BOW, 1); giveItems(player, APPRENTICE_ADVENTURERS_LONG_SWORD, 1); addExpAndSp(player, 300, 5); - Broadcast.toKnownPlayers(npc, new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getTemplate().getDisplayId(), NpcStringId.THERE_S_THE_NEXT_TRAINING_STEP)); + Broadcast.toKnownPlayers(npc, new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getTemplate().getDisplayId(), NpcStringId.THERE_S_THE_NEXT_TRAINING_STEP)); qs.exitQuest(false, true); break; } diff --git a/trunk/dist/game/data/scripts/quests/Q10326_RespectYourElders/Q10326_RespectYourElders.java b/trunk/dist/game/data/scripts/quests/Q10326_RespectYourElders/Q10326_RespectYourElders.java index 06954dc07a..2cfc74762d 100644 --- a/trunk/dist/game/data/scripts/quests/Q10326_RespectYourElders/Q10326_RespectYourElders.java +++ b/trunk/dist/game/data/scripts/quests/Q10326_RespectYourElders/Q10326_RespectYourElders.java @@ -20,6 +20,7 @@ package quests.Q10326_RespectYourElders; import quests.Q10325_SearchingForNewPower.Q10325_SearchingForNewPower; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.Location; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; @@ -27,7 +28,6 @@ import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.ExRotation; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.util.Util; @@ -115,7 +115,7 @@ public class Q10326_RespectYourElders extends Quest { if (loc_index == 9) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getTemplate().getDisplayId(), NpcStringId.GO_GO_GO_CREEK)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getTemplate().getDisplayId(), NpcStringId.GO_GO_GO_CREEK)); startQuestTimer("DELETE_NPC", 2000, npc, owner); break; } @@ -138,7 +138,7 @@ public class Q10326_RespectYourElders extends Quest if (getRandom(100) < 10) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getTemplate().getDisplayId(), NpcStringId.COME_ON_CREEK)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getTemplate().getDisplayId(), NpcStringId.COME_ON_CREEK)); } } } @@ -170,7 +170,7 @@ public class Q10326_RespectYourElders extends Quest @Override public void onMoveFinished(L2Npc npc) { - npc.broadcastPacket(new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getTemplate().getDisplayId(), NpcStringId.COME_ON_CREEK)); + npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getTemplate().getDisplayId(), NpcStringId.COME_ON_CREEK)); final L2PcInstance owner = npc.getVariables().getObject("OWNER", L2PcInstance.class); if (owner != null) diff --git a/trunk/dist/game/data/scripts/quests/Q10744_StrongerThanSteel/Q10744_StrongerThanSteel.java b/trunk/dist/game/data/scripts/quests/Q10744_StrongerThanSteel/Q10744_StrongerThanSteel.java index 5b3c9fdeb0..03aac9db61 100644 --- a/trunk/dist/game/data/scripts/quests/Q10744_StrongerThanSteel/Q10744_StrongerThanSteel.java +++ b/trunk/dist/game/data/scripts/quests/Q10744_StrongerThanSteel/Q10744_StrongerThanSteel.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2014 L2J DataPack + * Copyright (C) 2004-2015 L2J DataPack * * This file is part of L2J DataPack. * diff --git a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java index a16311b4ef..a13d95b264 100644 --- a/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/trunk/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -21,24 +21,13 @@ package quests; import java.util.logging.Level; import java.util.logging.Logger; -import quests.Q00011_SecretMeetingWithKetraOrcs.Q00011_SecretMeetingWithKetraOrcs; -import quests.Q00012_SecretMeetingWithVarkaSilenos.Q00012_SecretMeetingWithVarkaSilenos; import quests.Q00013_ParcelDelivery.Q00013_ParcelDelivery; -import quests.Q00014_WhereaboutsOfTheArchaeologist.Q00014_WhereaboutsOfTheArchaeologist; import quests.Q00015_SweetWhispers.Q00015_SweetWhispers; import quests.Q00016_TheComingDarkness.Q00016_TheComingDarkness; import quests.Q00017_LightAndDarkness.Q00017_LightAndDarkness; -import quests.Q00018_MeetingWithTheGoldenRam.Q00018_MeetingWithTheGoldenRam; import quests.Q00019_GoToThePastureland.Q00019_GoToThePastureland; import quests.Q00020_BringUpWithLove.Q00020_BringUpWithLove; -import quests.Q00021_HiddenTruth.Q00021_HiddenTruth; -import quests.Q00023_LidiasHeart.Q00023_LidiasHeart; -import quests.Q00024_InhabitantsOfTheForestOfTheDead.Q00024_InhabitantsOfTheForestOfTheDead; import quests.Q00026_TiredOfWaiting.Q00026_TiredOfWaiting; -import quests.Q00027_ChestCaughtWithABaitOfWind.Q00027_ChestCaughtWithABaitOfWind; -import quests.Q00028_ChestCaughtWithABaitOfIcyAir.Q00028_ChestCaughtWithABaitOfIcyAir; -import quests.Q00029_ChestCaughtWithABaitOfEarth.Q00029_ChestCaughtWithABaitOfEarth; -import quests.Q00030_ChestCaughtWithABaitOfFire.Q00030_ChestCaughtWithABaitOfFire; import quests.Q00031_SecretBuriedInTheSwamp.Q00031_SecretBuriedInTheSwamp; import quests.Q00032_AnObviousLie.Q00032_AnObviousLie; import quests.Q00033_MakeAPairOfDressShoes.Q00033_MakeAPairOfDressShoes; @@ -52,9 +41,6 @@ import quests.Q00040_ASpecialOrder.Q00040_ASpecialOrder; import quests.Q00042_HelpTheUncle.Q00042_HelpTheUncle; import quests.Q00043_HelpTheSister.Q00043_HelpTheSister; import quests.Q00044_HelpTheSon.Q00044_HelpTheSon; -import quests.Q00050_LanoscosSpecialBait.Q00050_LanoscosSpecialBait; -import quests.Q00051_OFullesSpecialBait.Q00051_OFullesSpecialBait; -import quests.Q00052_WilliesSpecialBait.Q00052_WilliesSpecialBait; import quests.Q00061_LawEnforcement.Q00061_LawEnforcement; import quests.Q00109_InSearchOfTheNest.Q00109_InSearchOfTheNest; import quests.Q00110_ToThePrimevalIsle.Q00110_ToThePrimevalIsle; @@ -72,7 +58,6 @@ import quests.Q00125_TheNameOfEvil1.Q00125_TheNameOfEvil1; import quests.Q00126_TheNameOfEvil2.Q00126_TheNameOfEvil2; import quests.Q00128_PailakaSongOfIceAndFire.Q00128_PailakaSongOfIceAndFire; import quests.Q00129_PailakaDevilsLegacy.Q00129_PailakaDevilsLegacy; -import quests.Q00132_MatrasCuriosity.Q00132_MatrasCuriosity; import quests.Q00134_TempleMissionary.Q00134_TempleMissionary; import quests.Q00135_TempleExecutor.Q00135_TempleExecutor; import quests.Q00136_MoreThanMeetsTheEye.Q00136_MoreThanMeetsTheEye; @@ -85,9 +70,6 @@ import quests.Q00142_FallenAngelRequestOfDawn.Q00142_FallenAngelRequestOfDawn; import quests.Q00143_FallenAngelRequestOfDusk.Q00143_FallenAngelRequestOfDusk; import quests.Q00144_PailakaInjuredDragon.Q00144_PailakaInjuredDragon; import quests.Q00146_TheZeroHour.Q00146_TheZeroHour; -import quests.Q00147_PathtoBecominganEliteMercenary.Q00147_PathtoBecominganEliteMercenary; -import quests.Q00148_PathtoBecominganExaltedMercenary.Q00148_PathtoBecominganExaltedMercenary; -import quests.Q00176_StepsForHonor.Q00176_StepsForHonor; import quests.Q00177_SplitDestiny.Q00177_SplitDestiny; import quests.Q00183_RelicExploration.Q00183_RelicExploration; import quests.Q00184_ArtOfPersuasion.Q00184_ArtOfPersuasion; @@ -109,68 +91,25 @@ import quests.Q00237_WindsOfChange.Q00237_WindsOfChange; import quests.Q00238_SuccessFailureOfBusiness.Q00238_SuccessFailureOfBusiness; import quests.Q00239_WontYouJoinUs.Q00239_WontYouJoinUs; import quests.Q00240_ImTheOnlyOneYouCanTrust.Q00240_ImTheOnlyOneYouCanTrust; -import quests.Q00249_PoisonedPlainsOfTheLizardmen.Q00249_PoisonedPlainsOfTheLizardmen; -import quests.Q00250_WatchWhatYouEat.Q00250_WatchWhatYouEat; -import quests.Q00251_NoSecrets.Q00251_NoSecrets; -import quests.Q00252_ItSmellsDelicious.Q00252_ItSmellsDelicious; import quests.Q00254_LegendaryTales.Q00254_LegendaryTales; import quests.Q00270_TheOneWhoEndsSilence.Q00270_TheOneWhoEndsSilence; import quests.Q00278_HomeSecurity.Q00278_HomeSecurity; import quests.Q00279_TargetOfOpportunity.Q00279_TargetOfOpportunity; -import quests.Q00287_FiguringItOut.Q00287_FiguringItOut; -import quests.Q00288_HandleWithCare.Q00288_HandleWithCare; -import quests.Q00289_NoMoreSoupForYou.Q00289_NoMoreSoupForYou; -import quests.Q00290_ThreatRemoval.Q00290_ThreatRemoval; -import quests.Q00299_GatherIngredientsForPie.Q00299_GatherIngredientsForPie; import quests.Q00300_HuntingLetoLizardman.Q00300_HuntingLetoLizardman; import quests.Q00307_ControlDeviceOfTheGiants.Q00307_ControlDeviceOfTheGiants; -import quests.Q00308_ReedFieldMaintenance.Q00308_ReedFieldMaintenance; -import quests.Q00309_ForAGoodCause.Q00309_ForAGoodCause; import quests.Q00310_OnlyWhatRemains.Q00310_OnlyWhatRemains; -import quests.Q00311_ExpulsionOfEvilSpirits.Q00311_ExpulsionOfEvilSpirits; -import quests.Q00312_TakeAdvantageOfTheCrisis.Q00312_TakeAdvantageOfTheCrisis; -import quests.Q00325_GrimCollector.Q00325_GrimCollector; import quests.Q00326_VanquishRemnants.Q00326_VanquishRemnants; -import quests.Q00327_RecoverTheFarmland.Q00327_RecoverTheFarmland; -import quests.Q00328_SenseForBusiness.Q00328_SenseForBusiness; -import quests.Q00329_CuriosityOfADwarf.Q00329_CuriosityOfADwarf; -import quests.Q00331_ArrowOfVengeance.Q00331_ArrowOfVengeance; -import quests.Q00338_AlligatorHunter.Q00338_AlligatorHunter; -import quests.Q00340_SubjugationOfLizardmen.Q00340_SubjugationOfLizardmen; -import quests.Q00341_HuntingForWildBeasts.Q00341_HuntingForWildBeasts; import quests.Q00344_1000YearsTheEndOfLamentation.Q00344_1000YearsTheEndOfLamentation; -import quests.Q00345_MethodToRaiseTheDead.Q00345_MethodToRaiseTheDead; import quests.Q00350_EnhanceYourWeapon.Q00350_EnhanceYourWeapon; -import quests.Q00351_BlackSwan.Q00351_BlackSwan; -import quests.Q00352_HelpRoodRaiseANewPet.Q00352_HelpRoodRaiseANewPet; -import quests.Q00354_ConquestOfAlligatorIsland.Q00354_ConquestOfAlligatorIsland; -import quests.Q00355_FamilyHonor.Q00355_FamilyHonor; -import quests.Q00356_DigUpTheSeaOfSpores.Q00356_DigUpTheSeaOfSpores; import quests.Q00357_WarehouseKeepersAmbition.Q00357_WarehouseKeepersAmbition; -import quests.Q00358_IllegitimateChildOfTheGoddess.Q00358_IllegitimateChildOfTheGoddess; import quests.Q00359_ForASleeplessDeadman.Q00359_ForASleeplessDeadman; -import quests.Q00360_PlunderTheirSupplies.Q00360_PlunderTheirSupplies; -import quests.Q00362_BardsMandolin.Q00362_BardsMandolin; -import quests.Q00363_SorrowfulSoundOfFlute.Q00363_SorrowfulSoundOfFlute; -import quests.Q00364_JovialAccordion.Q00364_JovialAccordion; -import quests.Q00365_DevilsLegacy.Q00365_DevilsLegacy; -import quests.Q00366_SilverHairedShaman.Q00366_SilverHairedShaman; -import quests.Q00367_ElectrifyingRecharge.Q00367_ElectrifyingRecharge; -import quests.Q00368_TrespassingIntoTheHolyGround.Q00368_TrespassingIntoTheHolyGround; -import quests.Q00369_CollectorOfJewels.Q00369_CollectorOfJewels; -import quests.Q00370_AnElderSowsSeeds.Q00370_AnElderSowsSeeds; import quests.Q00371_ShrieksOfGhosts.Q00371_ShrieksOfGhosts; import quests.Q00376_ExplorationOfTheGiantsCavePart1.Q00376_ExplorationOfTheGiantsCavePart1; import quests.Q00377_ExplorationOfTheGiantsCavePart2.Q00377_ExplorationOfTheGiantsCavePart2; -import quests.Q00378_GrandFeast.Q00378_GrandFeast; -import quests.Q00379_FantasyWine.Q00379_FantasyWine; -import quests.Q00380_BringOutTheFlavorOfIngredients.Q00380_BringOutTheFlavorOfIngredients; import quests.Q00381_LetsBecomeARoyalMember.Q00381_LetsBecomeARoyalMember; import quests.Q00382_KailsMagicCoin.Q00382_KailsMagicCoin; -import quests.Q00383_TreasureHunt.Q00383_TreasureHunt; import quests.Q00420_LittleWing.Q00420_LittleWing; import quests.Q00421_LittleWingsBigAdventure.Q00421_LittleWingsBigAdventure; -import quests.Q00423_TakeYourBestShot.Q00423_TakeYourBestShot; import quests.Q00431_WeddingMarch.Q00431_WeddingMarch; import quests.Q00432_BirthdayPartySong.Q00432_BirthdayPartySong; import quests.Q00450_GraveRobberRescue.Q00450_GraveRobberRescue; @@ -181,7 +120,6 @@ import quests.Q00455_WingsOfSand.Q00455_WingsOfSand; import quests.Q00456_DontKnowDontCare.Q00456_DontKnowDontCare; import quests.Q00457_LostAndFound.Q00457_LostAndFound; import quests.Q00458_PerfectForm.Q00458_PerfectForm; -import quests.Q00461_RumbleInTheBase.Q00461_RumbleInTheBase; import quests.Q00463_IMustBeaGenius.Q00463_IMustBeaGenius; import quests.Q00464_Oath.Q00464_Oath; import quests.Q00501_ProofOfClanAlliance.Q00501_ProofOfClanAlliance; @@ -193,24 +131,8 @@ import quests.Q00511_AwlUnderFoot.Q00511_AwlUnderFoot; import quests.Q00551_OlympiadStarter.Q00551_OlympiadStarter; import quests.Q00552_OlympiadVeteran.Q00552_OlympiadVeteran; import quests.Q00553_OlympiadUndefeated.Q00553_OlympiadUndefeated; -import quests.Q00601_WatchingEyes.Q00601_WatchingEyes; -import quests.Q00602_ShadowOfLight.Q00602_ShadowOfLight; -import quests.Q00603_DaimonTheWhiteEyedPart1.Q00603_DaimonTheWhiteEyedPart1; -import quests.Q00605_AllianceWithKetraOrcs.Q00605_AllianceWithKetraOrcs; -import quests.Q00606_BattleAgainstVarkaSilenos.Q00606_BattleAgainstVarkaSilenos; -import quests.Q00607_ProveYourCourageKetra.Q00607_ProveYourCourageKetra; -import quests.Q00608_SlayTheEnemyCommanderKetra.Q00608_SlayTheEnemyCommanderKetra; -import quests.Q00609_MagicalPowerOfWaterPart1.Q00609_MagicalPowerOfWaterPart1; -import quests.Q00610_MagicalPowerOfWaterPart2.Q00610_MagicalPowerOfWaterPart2; -import quests.Q00611_AllianceWithVarkaSilenos.Q00611_AllianceWithVarkaSilenos; -import quests.Q00612_BattleAgainstKetraOrcs.Q00612_BattleAgainstKetraOrcs; -import quests.Q00613_ProveYourCourageVarka.Q00613_ProveYourCourageVarka; -import quests.Q00614_SlayTheEnemyCommanderVarka.Q00614_SlayTheEnemyCommanderVarka; -import quests.Q00615_MagicalPowerOfFirePart1.Q00615_MagicalPowerOfFirePart1; -import quests.Q00616_MagicalPowerOfFirePart2.Q00616_MagicalPowerOfFirePart2; import quests.Q00617_GatherTheFlames.Q00617_GatherTheFlames; import quests.Q00618_IntoTheFlame.Q00618_IntoTheFlame; -import quests.Q00619_RelicsOfTheOldEmpire.Q00619_RelicsOfTheOldEmpire; import quests.Q00621_EggDelivery.Q00621_EggDelivery; import quests.Q00622_SpecialtyLiquorDelivery.Q00622_SpecialtyLiquorDelivery; import quests.Q00623_TheFinestFood.Q00623_TheFinestFood; @@ -218,40 +140,18 @@ import quests.Q00624_TheFinestIngredientsPart1.Q00624_TheFinestIngredientsPart1; import quests.Q00625_TheFinestIngredientsPart2.Q00625_TheFinestIngredientsPart2; import quests.Q00626_ADarkTwilight.Q00626_ADarkTwilight; import quests.Q00627_HeartInSearchOfPower.Q00627_HeartInSearchOfPower; -import quests.Q00628_HuntGoldenRam.Q00628_HuntGoldenRam; -import quests.Q00629_CleanUpTheSwampOfScreams.Q00629_CleanUpTheSwampOfScreams; import quests.Q00631_DeliciousTopChoiceMeat.Q00631_DeliciousTopChoiceMeat; -import quests.Q00632_NecromancersRequest.Q00632_NecromancersRequest; -import quests.Q00633_InTheForgottenVillage.Q00633_InTheForgottenVillage; -import quests.Q00634_InSearchOfFragmentsOfDimension.Q00634_InSearchOfFragmentsOfDimension; -import quests.Q00635_IntoTheDimensionalRift.Q00635_IntoTheDimensionalRift; -import quests.Q00636_TruthBeyond.Q00636_TruthBeyond; -import quests.Q00637_ThroughOnceMore.Q00637_ThroughOnceMore; -import quests.Q00638_SeekersOfTheHolyGrail.Q00638_SeekersOfTheHolyGrail; -import quests.Q00639_GuardiansOfTheHolyGrail.Q00639_GuardiansOfTheHolyGrail; import quests.Q00641_AttackSailren.Q00641_AttackSailren; import quests.Q00642_APowerfulPrimevalCreature.Q00642_APowerfulPrimevalCreature; import quests.Q00643_RiseAndFallOfTheElrokiTribe.Q00643_RiseAndFallOfTheElrokiTribe; -import quests.Q00644_GraveRobberAnnihilation.Q00644_GraveRobberAnnihilation; import quests.Q00645_GhostsOfBatur.Q00645_GhostsOfBatur; -import quests.Q00646_SignsOfRevolt.Q00646_SignsOfRevolt; import quests.Q00647_InfluxOfMachines.Q00647_InfluxOfMachines; import quests.Q00648_AnIceMerchantsDream.Q00648_AnIceMerchantsDream; -import quests.Q00649_ALooterAndARailroadMan.Q00649_ALooterAndARailroadMan; import quests.Q00650_ABrokenDream.Q00650_ABrokenDream; -import quests.Q00651_RunawayYouth.Q00651_RunawayYouth; import quests.Q00652_AnAgedExAdventurer.Q00652_AnAgedExAdventurer; -import quests.Q00653_WildMaiden.Q00653_WildMaiden; -import quests.Q00654_JourneyToASettlement.Q00654_JourneyToASettlement; import quests.Q00655_AGrandPlanForTamingWildBeasts.Q00655_AGrandPlanForTamingWildBeasts; -import quests.Q00659_IdRatherBeCollectingFairyBreath.Q00659_IdRatherBeCollectingFairyBreath; -import quests.Q00660_AidingTheFloranVillage.Q00660_AidingTheFloranVillage; -import quests.Q00661_MakingTheHarvestGroundsSafe.Q00661_MakingTheHarvestGroundsSafe; import quests.Q00662_AGameOfCards.Q00662_AGameOfCards; import quests.Q00688_DefeatTheElrokianRaiders.Q00688_DefeatTheElrokianRaiders; -import quests.Q00690_JudesRequest.Q00690_JudesRequest; -import quests.Q00691_MatrasSuspiciousRequest.Q00691_MatrasSuspiciousRequest; -import quests.Q00692_HowtoOpposeEvil.Q00692_HowtoOpposeEvil; import quests.Q00699_GuardianOfTheSkies.Q00699_GuardianOfTheSkies; import quests.Q00700_CursedLife.Q00700_CursedLife; import quests.Q00701_ProofOfExistence.Q00701_ProofOfExistence; @@ -264,20 +164,9 @@ import quests.Q00905_RefinedDragonBlood.Q00905_RefinedDragonBlood; import quests.Q00906_TheCallOfValakas.Q00906_TheCallOfValakas; import quests.Q00907_DragonTrophyValakas.Q00907_DragonTrophyValakas; import quests.Q00998_FallenAngelSelect.Q00998_FallenAngelSelect; -import quests.Q10267_JourneyToGracia.Q10267_JourneyToGracia; -import quests.Q10268_ToTheSeedOfInfinity.Q10268_ToTheSeedOfInfinity; -import quests.Q10269_ToTheSeedOfDestruction.Q10269_ToTheSeedOfDestruction; -import quests.Q10271_TheEnvelopingDarkness.Q10271_TheEnvelopingDarkness; -import quests.Q10272_LightFragment.Q10272_LightFragment; import quests.Q10273_GoodDayToFly.Q10273_GoodDayToFly; import quests.Q10274_CollectingInTheAir.Q10274_CollectingInTheAir; import quests.Q10275_ContainingTheAttributePower.Q10275_ContainingTheAttributePower; -import quests.Q10276_MutatedKaneusGludio.Q10276_MutatedKaneusGludio; -import quests.Q10277_MutatedKaneusDion.Q10277_MutatedKaneusDion; -import quests.Q10278_MutatedKaneusHeine.Q10278_MutatedKaneusHeine; -import quests.Q10279_MutatedKaneusOren.Q10279_MutatedKaneusOren; -import quests.Q10280_MutatedKaneusSchuttgart.Q10280_MutatedKaneusSchuttgart; -import quests.Q10281_MutatedKaneusRune.Q10281_MutatedKaneusRune; import quests.Q10282_ToTheSeedOfAnnihilation.Q10282_ToTheSeedOfAnnihilation; import quests.Q10283_RequestOfIceMerchant.Q10283_RequestOfIceMerchant; import quests.Q10284_AcquisitionOfDivineSword.Q10284_AcquisitionOfDivineSword; @@ -329,24 +218,13 @@ public class QuestMasterHandler private static final Class[] QUESTS = { - Q00011_SecretMeetingWithKetraOrcs.class, - Q00012_SecretMeetingWithVarkaSilenos.class, Q00013_ParcelDelivery.class, - Q00014_WhereaboutsOfTheArchaeologist.class, Q00015_SweetWhispers.class, Q00016_TheComingDarkness.class, Q00017_LightAndDarkness.class, - Q00018_MeetingWithTheGoldenRam.class, Q00019_GoToThePastureland.class, Q00020_BringUpWithLove.class, - Q00021_HiddenTruth.class, - Q00023_LidiasHeart.class, - Q00024_InhabitantsOfTheForestOfTheDead.class, Q00026_TiredOfWaiting.class, - Q00027_ChestCaughtWithABaitOfWind.class, - Q00028_ChestCaughtWithABaitOfIcyAir.class, - Q00029_ChestCaughtWithABaitOfEarth.class, - Q00030_ChestCaughtWithABaitOfFire.class, Q00031_SecretBuriedInTheSwamp.class, Q00032_AnObviousLie.class, Q00033_MakeAPairOfDressShoes.class, @@ -360,9 +238,6 @@ public class QuestMasterHandler Q00042_HelpTheUncle.class, Q00043_HelpTheSister.class, Q00044_HelpTheSon.class, - Q00050_LanoscosSpecialBait.class, - Q00051_OFullesSpecialBait.class, - Q00052_WilliesSpecialBait.class, Q00061_LawEnforcement.class, Q00109_InSearchOfTheNest.class, Q00110_ToThePrimevalIsle.class, @@ -380,7 +255,6 @@ public class QuestMasterHandler Q00126_TheNameOfEvil2.class, Q00128_PailakaSongOfIceAndFire.class, Q00129_PailakaDevilsLegacy.class, - Q00132_MatrasCuriosity.class, Q00134_TempleMissionary.class, Q00135_TempleExecutor.class, Q00136_MoreThanMeetsTheEye.class, @@ -393,9 +267,6 @@ public class QuestMasterHandler Q00143_FallenAngelRequestOfDusk.class, Q00144_PailakaInjuredDragon.class, Q00146_TheZeroHour.class, - Q00147_PathtoBecominganEliteMercenary.class, - Q00148_PathtoBecominganExaltedMercenary.class, - Q00176_StepsForHonor.class, Q00177_SplitDestiny.class, Q00183_RelicExploration.class, Q00184_ArtOfPersuasion.class, @@ -417,68 +288,25 @@ public class QuestMasterHandler Q00238_SuccessFailureOfBusiness.class, Q00239_WontYouJoinUs.class, Q00240_ImTheOnlyOneYouCanTrust.class, - Q00249_PoisonedPlainsOfTheLizardmen.class, - Q00250_WatchWhatYouEat.class, - Q00251_NoSecrets.class, - Q00252_ItSmellsDelicious.class, Q00254_LegendaryTales.class, Q00270_TheOneWhoEndsSilence.class, Q00278_HomeSecurity.class, Q00279_TargetOfOpportunity.class, - Q00287_FiguringItOut.class, - Q00288_HandleWithCare.class, - Q00289_NoMoreSoupForYou.class, - Q00290_ThreatRemoval.class, - Q00299_GatherIngredientsForPie.class, Q00300_HuntingLetoLizardman.class, Q00307_ControlDeviceOfTheGiants.class, - Q00308_ReedFieldMaintenance.class, - Q00309_ForAGoodCause.class, Q00310_OnlyWhatRemains.class, - Q00311_ExpulsionOfEvilSpirits.class, - Q00312_TakeAdvantageOfTheCrisis.class, - Q00325_GrimCollector.class, Q00326_VanquishRemnants.class, - Q00327_RecoverTheFarmland.class, - Q00328_SenseForBusiness.class, - Q00329_CuriosityOfADwarf.class, - Q00331_ArrowOfVengeance.class, - Q00338_AlligatorHunter.class, - Q00340_SubjugationOfLizardmen.class, - Q00341_HuntingForWildBeasts.class, Q00344_1000YearsTheEndOfLamentation.class, - Q00345_MethodToRaiseTheDead.class, Q00350_EnhanceYourWeapon.class, - Q00351_BlackSwan.class, - Q00352_HelpRoodRaiseANewPet.class, - Q00354_ConquestOfAlligatorIsland.class, - Q00355_FamilyHonor.class, - Q00356_DigUpTheSeaOfSpores.class, Q00357_WarehouseKeepersAmbition.class, - Q00358_IllegitimateChildOfTheGoddess.class, Q00359_ForASleeplessDeadman.class, - Q00360_PlunderTheirSupplies.class, - Q00362_BardsMandolin.class, - Q00363_SorrowfulSoundOfFlute.class, - Q00364_JovialAccordion.class, - Q00365_DevilsLegacy.class, - Q00366_SilverHairedShaman.class, - Q00367_ElectrifyingRecharge.class, - Q00368_TrespassingIntoTheHolyGround.class, - Q00369_CollectorOfJewels.class, - Q00370_AnElderSowsSeeds.class, Q00371_ShrieksOfGhosts.class, Q00376_ExplorationOfTheGiantsCavePart1.class, Q00377_ExplorationOfTheGiantsCavePart2.class, - Q00378_GrandFeast.class, - Q00379_FantasyWine.class, - Q00380_BringOutTheFlavorOfIngredients.class, Q00381_LetsBecomeARoyalMember.class, Q00382_KailsMagicCoin.class, - Q00383_TreasureHunt.class, Q00420_LittleWing.class, Q00421_LittleWingsBigAdventure.class, - Q00423_TakeYourBestShot.class, Q00431_WeddingMarch.class, Q00432_BirthdayPartySong.class, Q00450_GraveRobberRescue.class, @@ -489,7 +317,6 @@ public class QuestMasterHandler Q00456_DontKnowDontCare.class, Q00457_LostAndFound.class, Q00458_PerfectForm.class, - Q00461_RumbleInTheBase.class, Q00463_IMustBeaGenius.class, Q00464_Oath.class, Q00501_ProofOfClanAlliance.class, @@ -501,24 +328,8 @@ public class QuestMasterHandler Q00551_OlympiadStarter.class, Q00552_OlympiadVeteran.class, Q00553_OlympiadUndefeated.class, - Q00601_WatchingEyes.class, - Q00602_ShadowOfLight.class, - Q00603_DaimonTheWhiteEyedPart1.class, - Q00605_AllianceWithKetraOrcs.class, - Q00606_BattleAgainstVarkaSilenos.class, - Q00607_ProveYourCourageKetra.class, - Q00608_SlayTheEnemyCommanderKetra.class, - Q00609_MagicalPowerOfWaterPart1.class, - Q00610_MagicalPowerOfWaterPart2.class, - Q00611_AllianceWithVarkaSilenos.class, - Q00612_BattleAgainstKetraOrcs.class, - Q00613_ProveYourCourageVarka.class, - Q00614_SlayTheEnemyCommanderVarka.class, - Q00615_MagicalPowerOfFirePart1.class, - Q00616_MagicalPowerOfFirePart2.class, Q00617_GatherTheFlames.class, Q00618_IntoTheFlame.class, - Q00619_RelicsOfTheOldEmpire.class, Q00621_EggDelivery.class, Q00622_SpecialtyLiquorDelivery.class, Q00623_TheFinestFood.class, @@ -526,40 +337,18 @@ public class QuestMasterHandler Q00625_TheFinestIngredientsPart2.class, Q00626_ADarkTwilight.class, Q00627_HeartInSearchOfPower.class, - Q00628_HuntGoldenRam.class, - Q00629_CleanUpTheSwampOfScreams.class, Q00631_DeliciousTopChoiceMeat.class, - Q00632_NecromancersRequest.class, - Q00633_InTheForgottenVillage.class, - Q00634_InSearchOfFragmentsOfDimension.class, - Q00635_IntoTheDimensionalRift.class, - Q00636_TruthBeyond.class, - Q00637_ThroughOnceMore.class, - Q00638_SeekersOfTheHolyGrail.class, - Q00639_GuardiansOfTheHolyGrail.class, Q00641_AttackSailren.class, Q00642_APowerfulPrimevalCreature.class, Q00643_RiseAndFallOfTheElrokiTribe.class, - Q00644_GraveRobberAnnihilation.class, Q00645_GhostsOfBatur.class, - Q00646_SignsOfRevolt.class, Q00647_InfluxOfMachines.class, Q00648_AnIceMerchantsDream.class, - Q00649_ALooterAndARailroadMan.class, Q00650_ABrokenDream.class, - Q00651_RunawayYouth.class, Q00652_AnAgedExAdventurer.class, - Q00653_WildMaiden.class, - Q00654_JourneyToASettlement.class, Q00655_AGrandPlanForTamingWildBeasts.class, - Q00659_IdRatherBeCollectingFairyBreath.class, - Q00660_AidingTheFloranVillage.class, - Q00661_MakingTheHarvestGroundsSafe.class, Q00662_AGameOfCards.class, Q00688_DefeatTheElrokianRaiders.class, - Q00690_JudesRequest.class, - Q00691_MatrasSuspiciousRequest.class, - Q00692_HowtoOpposeEvil.class, Q00699_GuardianOfTheSkies.class, Q00700_CursedLife.class, Q00701_ProofOfExistence.class, @@ -572,20 +361,9 @@ public class QuestMasterHandler Q00906_TheCallOfValakas.class, Q00907_DragonTrophyValakas.class, Q00998_FallenAngelSelect.class, - Q10267_JourneyToGracia.class, - Q10268_ToTheSeedOfInfinity.class, - Q10269_ToTheSeedOfDestruction.class, - Q10271_TheEnvelopingDarkness.class, - Q10272_LightFragment.class, Q10273_GoodDayToFly.class, Q10274_CollectingInTheAir.class, Q10275_ContainingTheAttributePower.class, - Q10276_MutatedKaneusGludio.class, - Q10277_MutatedKaneusDion.class, - Q10278_MutatedKaneusHeine.class, - Q10279_MutatedKaneusOren.class, - Q10280_MutatedKaneusSchuttgart.class, - Q10281_MutatedKaneusRune.class, Q10282_ToTheSeedOfAnnihilation.class, Q10283_RequestOfIceMerchant.class, Q10284_AcquisitionOfDivineSword.class, diff --git a/trunk/dist/game/data/scripts/vehicles/BoatGludinRune.java b/trunk/dist/game/data/scripts/vehicles/BoatGludinRune.java index 1615c819d5..7c4d2cc031 100644 --- a/trunk/dist/game/data/scripts/vehicles/BoatGludinRune.java +++ b/trunk/dist/game/data/scripts/vehicles/BoatGludinRune.java @@ -22,11 +22,11 @@ import java.util.logging.Level; import java.util.logging.Logger; import com.l2jserver.gameserver.ThreadPoolManager; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.BoatManager; import com.l2jserver.gameserver.model.VehiclePathPoint; import com.l2jserver.gameserver.model.actor.instance.L2BoatInstance; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.network.serverpackets.PlaySound; @@ -141,29 +141,29 @@ public class BoatGludinRune implements Runnable { _boat = boat; - ARRIVED_AT_GLUDIN = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_HAS_ARRIVED_AT_GLUDIN_HARBOR); - ARRIVED_AT_GLUDIN_2 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.DEPARTURE_FOR_RUNE_HARBOR_WILL_TAKE_PLACE_AFTER_ANCHORING_FOR_TEN_MINUTES); - LEAVE_GLUDIN5 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.DEPARTURE_FOR_RUNE_HARBOR_WILL_TAKE_PLACE_IN_FIVE_MINUTES); - LEAVE_GLUDIN1 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.DEPARTURE_FOR_RUNE_HARBOR_WILL_TAKE_PLACE_IN_ONE_MINUTE); - LEAVE_GLUDIN0 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.MAKE_HASTE_WE_WILL_BE_DEPARTING_FOR_GLUDIN_HARBOR_SHORTLY2); - LEAVING_GLUDIN = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.WE_ARE_NOW_DEPARTING_FOR_GLUDIN_HARBOR_HOLD_ON_AND_ENJOY_THE_RIDE); - ARRIVED_AT_RUNE = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.WELCOME_TO_RUNE_HARBOR); - ARRIVED_AT_RUNE_2 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_GLUDIN_HARBOR_AFTER_ANCHORING_FOR_TEN_MINUTES); - LEAVE_RUNE5 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.DEPARTURE_FOR_GLUDIN_HARBOR_WILL_TAKE_PLACE_IN_FIVE_MINUTES); - LEAVE_RUNE1 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.DEPARTURE_FOR_GLUDIN_HARBOR_WILL_TAKE_PLACE_IN_ONE_MINUTE); - LEAVE_RUNE0 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.MAKE_HASTE_WE_WILL_BE_DEPARTING_FOR_GLUDIN_HARBOR_SHORTLY); - LEAVING_RUNE = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.WE_ARE_NOW_DEPARTING_FOR_GLUDIN_HARBOR_HOLD_ON_AND_ENJOY_THE_RIDE); - BUSY_GLUDIN = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_FROM_RUNE_HARBOR_TO_GLUDIN_HARBOR_HAS_BEEN_DELAYED); - BUSY_RUNE = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GLUDIN_HARBOR_TO_RUNE_HARBOR_HAS_BEEN_DELAYED); + ARRIVED_AT_GLUDIN = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_HAS_ARRIVED_AT_GLUDIN_HARBOR); + ARRIVED_AT_GLUDIN_2 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.DEPARTURE_FOR_RUNE_HARBOR_WILL_TAKE_PLACE_AFTER_ANCHORING_FOR_TEN_MINUTES); + LEAVE_GLUDIN5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.DEPARTURE_FOR_RUNE_HARBOR_WILL_TAKE_PLACE_IN_FIVE_MINUTES); + LEAVE_GLUDIN1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.DEPARTURE_FOR_RUNE_HARBOR_WILL_TAKE_PLACE_IN_ONE_MINUTE); + LEAVE_GLUDIN0 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.MAKE_HASTE_WE_WILL_BE_DEPARTING_FOR_GLUDIN_HARBOR_SHORTLY2); + LEAVING_GLUDIN = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.WE_ARE_NOW_DEPARTING_FOR_GLUDIN_HARBOR_HOLD_ON_AND_ENJOY_THE_RIDE); + ARRIVED_AT_RUNE = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.WELCOME_TO_RUNE_HARBOR); + ARRIVED_AT_RUNE_2 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_GLUDIN_HARBOR_AFTER_ANCHORING_FOR_TEN_MINUTES); + LEAVE_RUNE5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.DEPARTURE_FOR_GLUDIN_HARBOR_WILL_TAKE_PLACE_IN_FIVE_MINUTES); + LEAVE_RUNE1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.DEPARTURE_FOR_GLUDIN_HARBOR_WILL_TAKE_PLACE_IN_ONE_MINUTE); + LEAVE_RUNE0 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.MAKE_HASTE_WE_WILL_BE_DEPARTING_FOR_GLUDIN_HARBOR_SHORTLY); + LEAVING_RUNE = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.WE_ARE_NOW_DEPARTING_FOR_GLUDIN_HARBOR_HOLD_ON_AND_ENJOY_THE_RIDE); + BUSY_GLUDIN = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_RUNE_HARBOR_TO_GLUDIN_HARBOR_HAS_BEEN_DELAYED); + BUSY_RUNE = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GLUDIN_HARBOR_TO_RUNE_HARBOR_HAS_BEEN_DELAYED); - ARRIVAL_RUNE15 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GLUDIN_HARBOR_WILL_BE_ARRIVING_AT_RUNE_HARBOR_IN_APPROXIMATELY_15_MINUTES); - ARRIVAL_RUNE10 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GLUDIN_HARBOR_WILL_BE_ARRIVING_AT_RUNE_HARBOR_IN_APPROXIMATELY_10_MINUTES); - ARRIVAL_RUNE5 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GLUDIN_HARBOR_WILL_BE_ARRIVING_AT_RUNE_HARBOR_IN_APPROXIMATELY_5_MINUTES); - ARRIVAL_RUNE1 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GLUDIN_HARBOR_WILL_BE_ARRIVING_AT_RUNE_HARBOR_IN_APPROXIMATELY_1_MINUTE); - ARRIVAL_GLUDIN15 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_FROM_RUNE_HARBOR_WILL_BE_ARRIVING_AT_GLUDIN_HARBOR_IN_APPROXIMATELY_15_MINUTES); - ARRIVAL_GLUDIN10 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_FROM_RUNE_HARBOR_WILL_BE_ARRIVING_AT_GLUDIN_HARBOR_IN_APPROXIMATELY_10_MINUTES); - ARRIVAL_GLUDIN5 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_FROM_RUNE_HARBOR_WILL_BE_ARRIVING_AT_GLUDIN_HARBOR_IN_APPROXIMATELY_5_MINUTES); - ARRIVAL_GLUDIN1 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_FROM_RUNE_HARBOR_WILL_BE_ARRIVING_AT_GLUDIN_HARBOR_IN_APPROXIMATELY_1_MINUTE); + ARRIVAL_RUNE15 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GLUDIN_HARBOR_WILL_BE_ARRIVING_AT_RUNE_HARBOR_IN_APPROXIMATELY_15_MINUTES); + ARRIVAL_RUNE10 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GLUDIN_HARBOR_WILL_BE_ARRIVING_AT_RUNE_HARBOR_IN_APPROXIMATELY_10_MINUTES); + ARRIVAL_RUNE5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GLUDIN_HARBOR_WILL_BE_ARRIVING_AT_RUNE_HARBOR_IN_APPROXIMATELY_5_MINUTES); + ARRIVAL_RUNE1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_GLUDIN_HARBOR_WILL_BE_ARRIVING_AT_RUNE_HARBOR_IN_APPROXIMATELY_1_MINUTE); + ARRIVAL_GLUDIN15 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_RUNE_HARBOR_WILL_BE_ARRIVING_AT_GLUDIN_HARBOR_IN_APPROXIMATELY_15_MINUTES); + ARRIVAL_GLUDIN10 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_RUNE_HARBOR_WILL_BE_ARRIVING_AT_GLUDIN_HARBOR_IN_APPROXIMATELY_10_MINUTES); + ARRIVAL_GLUDIN5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_RUNE_HARBOR_WILL_BE_ARRIVING_AT_GLUDIN_HARBOR_IN_APPROXIMATELY_5_MINUTES); + ARRIVAL_GLUDIN1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_RUNE_HARBOR_WILL_BE_ARRIVING_AT_GLUDIN_HARBOR_IN_APPROXIMATELY_1_MINUTE); GLUDIN_SOUND = new PlaySound(0, "itemsound.ship_arrival_departure", 1, _boat.getObjectId(), GLUDIN_DOCK[0].getX(), GLUDIN_DOCK[0].getY(), GLUDIN_DOCK[0].getZ()); RUNE_SOUND = new PlaySound(0, "itemsound.ship_arrival_departure", 1, _boat.getObjectId(), RUNE_DOCK[0].getX(), RUNE_DOCK[0].getY(), RUNE_DOCK[0].getZ()); diff --git a/trunk/dist/game/data/scripts/vehicles/BoatInnadrilTour.java b/trunk/dist/game/data/scripts/vehicles/BoatInnadrilTour.java index d1aed7ce48..b245008d6e 100644 --- a/trunk/dist/game/data/scripts/vehicles/BoatInnadrilTour.java +++ b/trunk/dist/game/data/scripts/vehicles/BoatInnadrilTour.java @@ -22,11 +22,11 @@ import java.util.logging.Level; import java.util.logging.Logger; import com.l2jserver.gameserver.ThreadPoolManager; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.BoatManager; import com.l2jserver.gameserver.model.VehiclePathPoint; import com.l2jserver.gameserver.model.actor.instance.L2BoatInstance; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.network.serverpackets.PlaySound; @@ -97,17 +97,17 @@ public class BoatInnadrilTour implements Runnable { _boat = boat; - ARRIVED_AT_INNADRIL = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_HAS_ARRIVED_IT_WILL_ANCHOR_FOR_TEN_MINUTES); - LEAVE_INNADRIL5 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_LEAVE_IN_FIVE_MINUTES); - LEAVE_INNADRIL1 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_LEAVE_IN_ONE_MINUTE); - LEAVE_INNADRIL0 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_BE_LEAVING_SOON); - LEAVING_INNADRIL = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_IS_LEAVING); + ARRIVED_AT_INNADRIL = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_HAS_ARRIVED_IT_WILL_ANCHOR_FOR_TEN_MINUTES); + LEAVE_INNADRIL5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_LEAVE_IN_FIVE_MINUTES); + LEAVE_INNADRIL1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_LEAVE_IN_ONE_MINUTE); + LEAVE_INNADRIL0 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_BE_LEAVING_SOON); + LEAVING_INNADRIL = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_IS_LEAVING); - ARRIVAL20 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_ARRIVE_IN_APPROXIMATELY_20_MINUTES); - ARRIVAL15 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_ARRIVE_IN_APPROXIMATELY_15_MINUTES); - ARRIVAL10 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_ARRIVE_IN_APPROXIMATELY_10_MINUTES); - ARRIVAL5 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_ARRIVE_IN_APPROXIMATELY_5_MINUTES); - ARRIVAL1 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_ARRIVE_IN_APPROXIMATELY_1_MINUTE); + ARRIVAL20 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_ARRIVE_IN_APPROXIMATELY_20_MINUTES); + ARRIVAL15 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_ARRIVE_IN_APPROXIMATELY_15_MINUTES); + ARRIVAL10 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_ARRIVE_IN_APPROXIMATELY_10_MINUTES); + ARRIVAL5 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_ARRIVE_IN_APPROXIMATELY_5_MINUTES); + ARRIVAL1 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_INNADRIL_PLEASURE_BOAT_WILL_ARRIVE_IN_APPROXIMATELY_1_MINUTE); INNADRIL_SOUND = new PlaySound(0, "itemsound.ship_arrival_departure", 1, _boat.getObjectId(), DOCK.getX(), DOCK.getY(), DOCK.getZ()); } diff --git a/trunk/dist/game/data/scripts/vehicles/BoatRunePrimeval.java b/trunk/dist/game/data/scripts/vehicles/BoatRunePrimeval.java index 6430d8b5e3..3e11cfd8b9 100644 --- a/trunk/dist/game/data/scripts/vehicles/BoatRunePrimeval.java +++ b/trunk/dist/game/data/scripts/vehicles/BoatRunePrimeval.java @@ -22,11 +22,11 @@ import java.util.logging.Level; import java.util.logging.Logger; import com.l2jserver.gameserver.ThreadPoolManager; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.BoatManager; import com.l2jserver.gameserver.model.VehiclePathPoint; import com.l2jserver.gameserver.model.actor.instance.L2BoatInstance; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.network.serverpackets.PlaySound; @@ -93,13 +93,13 @@ public class BoatRunePrimeval implements Runnable { _boat = boat; - ARRIVED_AT_RUNE = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.WELCOME_TO_RUNE_HARBOR); - ARRIVED_AT_RUNE_2 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_PRIMEVAL_ISLE_AFTER_ANCHORING_FOR_THREE_MINUTES); - LEAVING_RUNE = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_IS_NOW_DEPARTING_RUNE_HARBOR_FOR_PRIMEVAL_ISLE); - ARRIVED_AT_PRIMEVAL = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_HAS_ARRIVED_AT_PRIMEVAL_ISLE); - ARRIVED_AT_PRIMEVAL_2 = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_RUNE_HARBOR_AFTER_ANCHORING_FOR_THREE_MINUTES); - LEAVING_PRIMEVAL = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_IS_NOW_DEPARTING_PRIMEVAL_ISLE_FOR_RUNE_HARBOR); - BUSY_RUNE = new CreatureSay(0, Say2.BOAT, 801, SystemMessageId.THE_FERRY_FROM_PRIMEVAL_ISLE_TO_RUNE_HARBOR_HAS_BEEN_DELAYED); + ARRIVED_AT_RUNE = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.WELCOME_TO_RUNE_HARBOR); + ARRIVED_AT_RUNE_2 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_PRIMEVAL_ISLE_AFTER_ANCHORING_FOR_THREE_MINUTES); + LEAVING_RUNE = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_IS_NOW_DEPARTING_RUNE_HARBOR_FOR_PRIMEVAL_ISLE); + ARRIVED_AT_PRIMEVAL = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_HAS_ARRIVED_AT_PRIMEVAL_ISLE); + ARRIVED_AT_PRIMEVAL_2 = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_WILL_LEAVE_FOR_RUNE_HARBOR_AFTER_ANCHORING_FOR_THREE_MINUTES); + LEAVING_PRIMEVAL = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_IS_NOW_DEPARTING_PRIMEVAL_ISLE_FOR_RUNE_HARBOR); + BUSY_RUNE = new CreatureSay(0, ChatType.BOAT, 801, SystemMessageId.THE_FERRY_FROM_PRIMEVAL_ISLE_TO_RUNE_HARBOR_HAS_BEEN_DELAYED); RUNE_SOUND = new PlaySound(0, "itemsound.ship_arrival_departure", 1, _boat.getObjectId(), RUNE_DOCK[0].getX(), RUNE_DOCK[0].getY(), RUNE_DOCK[0].getZ()); PRIMEVAL_SOUND = new PlaySound(0, "itemsound.ship_arrival_departure", 1, _boat.getObjectId(), PRIMEVAL_DOCK.getX(), PRIMEVAL_DOCK.getY(), PRIMEVAL_DOCK.getZ()); diff --git a/trunk/dist/game/data/stats/npcs/33000-33100.xml b/trunk/dist/game/data/stats/npcs/33000-33100.xml index 71a955cb4a..7278df359e 100644 --- a/trunk/dist/game/data/stats/npcs/33000-33100.xml +++ b/trunk/dist/game/data/stats/npcs/33000-33100.xml @@ -368,7 +368,7 @@ - + @@ -436,7 +436,7 @@ - + diff --git a/trunk/dist/game/data/stats/npcs/33200-33300.xml b/trunk/dist/game/data/stats/npcs/33200-33300.xml index 3776259e9f..839fe33993 100644 --- a/trunk/dist/game/data/stats/npcs/33200-33300.xml +++ b/trunk/dist/game/data/stats/npcs/33200-33300.xml @@ -331,7 +331,7 @@ - + @@ -1468,7 +1468,7 @@ - + diff --git a/trunk/dist/game/data/stats/npcs/33500-33600.xml b/trunk/dist/game/data/stats/npcs/33500-33600.xml index 54b6cd069e..ac86bc920a 100644 --- a/trunk/dist/game/data/stats/npcs/33500-33600.xml +++ b/trunk/dist/game/data/stats/npcs/33500-33600.xml @@ -1217,7 +1217,7 @@ - + @@ -1234,7 +1234,7 @@ - + @@ -1251,7 +1251,7 @@ - + diff --git a/trunk/dist/game/data/stats/skills/10200-10299.xml b/trunk/dist/game/data/stats/skills/10200-10299.xml index 438b3e0027..608f729675 100644 --- a/trunk/dist/game/data/stats/skills/10200-10299.xml +++ b/trunk/dist/game/data/stats/skills/10200-10299.xml @@ -261,73 +261,335 @@ - - + - + 645 685 724 764 804 843 883 922 962 1002
+ 315 334 353 373 392 411 431 450 469 489
+ 7.8 8.2 8.7 9.2 9.7 10.1 10.6 11.1 11.5 12
+ 7.5 7.9 8.4 8.8 9.3 9.8 10.2 10.7 11.1 11.6
+ 3.9 4.2 4.4 4.6 4.9 5.1 5.3 5.5 5.8 6
+ 754 809 864 919 974 1029 1084 1139 1194 1249
+ 86 87 88 90 91 92 93 95 97 99
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- + + + + + + + + + + + + + + - - + + 1 2 3 4 5 6 7 8
+ 85 87 89 90 92 93 94 95
50 52 53 54 57 59 60 62
- - - - + 11159 11932 12547 13206 14101 14995 15873 16601
+ 0.98 0.96 0.94 0.92 0.90 0.88 0.86 0.84 0.82 0.80
+ 59 57 54 52 49 47 44 42 39 37
+ 16990 17379 17767 18156 18545 18934 19322 19711 20100 20489
+ 1 2 3 4 5 6 7 8 9 10
+ 95 95 96 96 97 97 98 98 99 99
+ 16990 17379 17767 18156 18545 18934 19322 19711 20100 20489
+ + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- - + + 85 86 88 90 92 94 96 98
65 66 69 71 73 76 78 80
- - - - + 19893 20581 21956 23332 24707 26082 27458 28833
+ 76 73 70 67 64 60 57 54 51 48
+ 30209 30896 31584 32272 32959 33647 34334 35022 35710 36397
+ 30 33 36 40 43 46 50 53 56 60
+ 98 98 98 98 98 99 99 99 99 99
+ 30209 30896 31584 32272 32959 33647 34334 35022 35710 36397
- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- - + + 1 2 3 4 5 6
+ 85 88 91 94 97 99
84 89 93 98 102 105
- - - - + 20483 22595 24708 26821 28934 30343
+ 100 96 92 88 84 79 75 71 67 63
+ 31047 31751 32455 33160 33864 34568 35273 35977 36681 37386
+ 30 33 36 40 43 46 50 53 56 60
+ 31047 31751 32455 33160 33864 34568 35273 35977 36681 37386
+ + + + - - - -
- - - - 58 59 61 63 65 67 69 71
- - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + 1 2 3 4 5 6 7 8
+ 85 86 88 90 92 94 96 98
+ 58 59 61 63 65 67 69 71
+ 0.98 0.96 0.94 0.92 0.90 0.88 0.86 0.84 0.82 0.80
+ 551 566 598 630 662 693 725 757
+ 68 65 62 59 56 53 51 48 45 42
+ 789 805 820 836 852 868 884 900 916 932
+ 30 33 36 40 43 46 50 53 56 60
+ 98 98 98 98 98 99 99 99 99 99
+ 789 805 820 836 852 868 884 900 916 932
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -393,16 +655,36 @@ - - + - - - - + 132 142 156 168 180 192 204 216 228 240
+ 93 93 94 95 95 96 97 97 98 99
+ + + + + + + + + + + + + + + + + + + + + + +
@@ -599,55 +881,192 @@ - - + + 310 320 330 340 350 360 370 380 390 400
+ 1 2 3 4 5 6 7 8 9 10
+ 86 87 88 90 91 92 93 95 97 99
+ + + + + - - + - + + + + + + + + + + + + + + + + + + + +
- - + + 310 320 330 340 350 360 370 380 390 400
+ 1 2 3 4 5 6 7 8 9 10
+ 86 87 88 90 91 92 93 95 97 99
+ + + + + - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- - + + 310 320 330 340 350 360 370 380 390 400
+ 1 2 3 4 5 6 7 8 9 10
+ 86 87 88 90 91 92 93 95 97 99
+ + + + + - - + - + + + + + + + + + + + + + + + + + + + + + +
- - + + 310 320 330 340 350 360 370 380 390 400
+ 1 2 3 4 5 6 7 8 9 10
+ 86 87 88 90 91 92 93 95 97 99
+ + + + + - - + - + + + + + + + + + + + + + + + + + + +
- - + - - - - + 310 320 330 340 350 360 370 380 390 400
+ 1 2 3 4 5 6 7 8 9 10
+ 86 87 88 90 91 92 93 95 97 99
+ + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -688,4 +1107,4 @@ - \ No newline at end of file + diff --git a/trunk/dist/game/data/xsd/skills.xsd b/trunk/dist/game/data/xsd/skills.xsd index 109dcf5170..92243e6e82 100644 --- a/trunk/dist/game/data/xsd/skills.xsd +++ b/trunk/dist/game/data/xsd/skills.xsd @@ -249,6 +249,9 @@ + + + diff --git a/trunk/dist/tools/sql/game/characters.sql b/trunk/dist/tools/sql/game/characters.sql index 0b96b2b477..0c100be317 100644 --- a/trunk/dist/tools/sql/game/characters.sql +++ b/trunk/dist/tools/sql/game/characters.sql @@ -37,11 +37,9 @@ CREATE TABLE IF NOT EXISTS `characters` ( `online` TINYINT UNSIGNED DEFAULT NULL, `onlinetime` INT DEFAULT NULL, `char_slot` TINYINT UNSIGNED DEFAULT NULL, - `newbie` MEDIUMINT UNSIGNED DEFAULT 1, `lastAccess` bigint(13) unsigned NOT NULL DEFAULT '0', `clan_privs` MEDIUMINT UNSIGNED DEFAULT 0, `wantspeace` TINYINT UNSIGNED DEFAULT 0, - `isin7sdungeon` TINYINT UNSIGNED NOT NULL DEFAULT 0, `power_grade` TINYINT UNSIGNED DEFAULT NULL, `nobless` TINYINT UNSIGNED NOT NULL DEFAULT 0, `subpledge` SMALLINT NOT NULL DEFAULT 0, diff --git a/trunk/dist/tools/sql/game/random_spawn.sql b/trunk/dist/tools/sql/game/random_spawn.sql index be979984a9..4bdbb6b769 100644 --- a/trunk/dist/tools/sql/game/random_spawn.sql +++ b/trunk/dist/tools/sql/game/random_spawn.sql @@ -12,8 +12,6 @@ CREATE TABLE `random_spawn` ( ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `random_spawn` VALUES -(133,32014,1,-1,3600000,0,'false','true'), -- Ivan (Runaway Youth quest) -(134,32013,1,-1,3600000,0,'false','true'), -- Suki (Wild Maiden quest) (136,32012,1,-1,3600000,0,'false','true'), -- Tantan (Aged ExAdventurer quest) (137,32335,1,-1,120000,120000,'false','true'), -- Marksman (Guards on kamael island) (138,32335,1,-1,120000,120000,'false','true'), -- Marksman (Guards on kamael island) diff --git a/trunk/dist/tools/sql/game/random_spawn_loc.sql b/trunk/dist/tools/sql/game/random_spawn_loc.sql index 6fe7a986f0..62c4466093 100644 --- a/trunk/dist/tools/sql/game/random_spawn_loc.sql +++ b/trunk/dist/tools/sql/game/random_spawn_loc.sql @@ -9,23 +9,6 @@ CREATE TABLE `random_spawn_loc` ( ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `random_spawn_loc` VALUES --- Runaway Youth quest -(133,104000,-156496,-1968,-1), -(133,108912,-150000,-2416,-1), -(133,107888,-144688,-3660,-1), -(133,123248,-147680,-3520,-1), -(133,118176,-161008,-1072,-1), -(133,120880,-156720,-1673,-1), -(133,117024,-150304,-2320,-1), - --- Wild Maiden quest -(134,69152,88816,-3408,-1), -(134,75392,87600,-3344,-1), -(134,67920,77888,-3616,-1), -(134,76544,73616,-3709,-1), -(134,66768,72016,-3677,-1), -(134,71520,67936,-3564,-1), - -- Aged ExAdventurer quest (136,89856,-7248,-3034,0), (136,79232,-5904,-2864,0), diff --git a/trunk/dist/tools/sql/game/spawnlist.sql b/trunk/dist/tools/sql/game/spawnlist.sql index 1d235f1ddc..846f48cef5 100644 --- a/trunk/dist/tools/sql/game/spawnlist.sql +++ b/trunk/dist/tools/sql/game/spawnlist.sql @@ -40356,8 +40356,11 @@ INSERT INTO `spawnlist` VALUES ('17_25', 1, 23457, -87992, 240221, -2944, 0, 0, 4915, 60, 0, 0, 0); -- Treant INSERT INTO `spawnlist` VALUES -- New Talking Island -('16_24', 1, 32972, -114371, 260304, -1176, 0, 0, 49472, 0, 0, 0, 0), -- Pantheon -('16_24', 1, 32147, -117647, 256367, -1320, 0, 0, 43314, 0, 0, 0, 0), -- Rivian +('16_25', 1, 32972, -114371, 260304, -1176, 0, 0, 49472, 0, 0, 0, 0), -- Pantheon +('16_25', 1, 33246, -114687, 259705, -1203, 0, 0, 49472, 0, 0, 0, 0), -- Eleve +('16_25', 1, 33242, -113910, 259367, -1203, 0, 0, 714, 0, 0, 0, 0), -- Karonf +('16_25', 1, 33241, -114694, 258935, -1203, 0, 0, 50925, 0, 0, 0, 0), -- Devno +('16_25', 1, 32147, -117647, 256367, -1320, 0, 0, 43314, 0, 0, 0, 0), -- Rivian ('16_25', 1, 33580, -114771, 252666, -1544, 0, 0, 0, 60, 0, 0, 0), -- Strider ('16_25', 1, 33579, -114801, 252636, -1544, 0, 0, 64427, 60, 0, 0, 0), -- Graman ('16_25', 1, 33022, -114808, 252218, -1520, 0, 0, 49153, 60, 0, 0, 0), -- null @@ -40444,9 +40447,9 @@ INSERT INTO `spawnlist` VALUES ('16_25', 1, 33587, -113991, 256050, -1512, 0, 0, 62181, 60, 0, 0, 0), -- Mentor Guide ('16_25', 1, 27457, -111476, 253710, -1712, 0, 0, 0, 60, 0, 0, 0), -- Scarecrow ('16_25', 1, 27457, -111466, 253590, -1720, 0, 0, 0, 60, 0, 0, 0), -- Scarecrow -('16_24', 1, 33201, -110973, 253295, -1768, 0, 0, 6508, 0, 0, 0, 0), -- Training Soldier -('16_24', 1, 33201, -110973, 253470, -1768, 0, 0, 4667, 0, 0, 0, 0), -- Training Soldier -('16_24', 1, 33201, -111368, 254113, -1712, 0, 0, 5636, 0, 0, 0, 0), -- Training Soldier +('16_25', 1, 33201, -110973, 253295, -1768, 0, 0, 6508, 0, 0, 0, 0), -- Training Soldier +('16_25', 1, 33201, -110973, 253470, -1768, 0, 0, 4667, 0, 0, 0, 0), -- Training Soldier +('16_25', 1, 33201, -111368, 254113, -1712, 0, 0, 5636, 0, 0, 0, 0), -- Training Soldier ('16_25', 1, 33000, -111408, 253264, -1760, 0, 0, 6892, 60, 0, 0, 0), -- null ('16_25', 1, 33002, -111328, 253136, -1776, 0, 0, 3980, 60, 0, 0, 0), -- null ('16_25', 1, 33000, -111280, 253072, -1776, 0, 0, 56600, 60, 0, 0, 0), -- null @@ -40581,10 +40584,12 @@ INSERT INTO `spawnlist` VALUES ('16_25', 1, 32160, -118122, 255715, -1320, 0, 0, 42047, 60, 0, 0, 0), -- Devon ('16_25', 1, 32153, -118017, 255965, -1320, 0, 0, 60986, 60, 0, 0, 0), -- Franco ('16_25', 1, 32157, -118285, 255232, -1320, 0, 0, 11573, 60, 0, 0, 0), -- Moka +('16_25', 1, 32144, -117362, 256209, -1296, 0, 0, 62000, 0, 0, 0, 0), -- Xonia ('16_25', 1, 32146, -118145, 255166, -1320, 0, 0, 14361, 60, 0, 0, 0), -- Valfar ('16_25', 1, 33107, -117340, 255060, -1424, 0, 0, 61572, 60, 0, 0, 0), -- null ('16_25', 1, 32151, -117606, 255131, -1296, 0, 0, 62000, 60, 0, 0, 0), -- Herz ('16_25', 1, 32156, -117537, 255537, -1296, 0, 0, 62000, 60, 0, 0, 0), -- Talbot +('16_25', 1, 32159, -117410, 256082, -1296, 0, 0, 62000, 0, 0, 0, 0), -- Kincaid ('16_25', 1, 32161, -117399, 255848, -1296, 0, 0, 62000, 60, 0, 0, 0), -- Black ('16_25', 1, 32148, -117632, 255400, -1296, 0, 0, 62000, 60, 0, 0, 0), -- Cindet ('16_25', 1, 32150, -117800, 256422, -1320, 0, 0, 45696, 60, 0, 0, 0), -- Took @@ -41048,9 +41053,6 @@ INSERT INTO `spawnlist` VALUES ('16_25', 1, 30427, -113490, 235526, -3640, 0, 0, 57800, 60, 0, 0, 0), -- Siff ('16_25', 1, 30429, -115744, 235924, -4032, 0, 0, 16384, 60, 0, 0, 0), -- Tiramisa ('16_25', 1, 30667, -112206, 244303, -3448, 0, 0, 16384, 60, 0, 0, 0), -- Ramus -('16_25', 1, 31032, -115758, 245607, -3256, 0, 0, 1854, 60, 0, 0, 0), -- Guard -('16_25', 1, 31032, -104971, 246465, -3520, 0, 0, 56230, 60, 0, 0, 0), -- Guard -('16_25', 1, 31032, -104951, 246489, -3496, 0, 0, 2616, 60, 0, 0, 0), -- Guard ('16_25', 1, 32138, -113713, 244682, -7944, 0, 0, 31000, 60, 0, 0, 0), -- Kekropus ('16_25', 1, 32469, -113487, 249706, -1816, 0, 0, 18044, 60, 0, 0, 0), -- Eindburgh ('16_25', 1, 32961, -116788, 234247, -2896, 0, 0, 62148, 60, 0, 0, 0), -- Corpse @@ -41358,7 +41360,7 @@ INSERT INTO `spawnlist` VALUES ('17_22', 1, 31756, -82032, 150160, -3122, 0, 0, 16500, 60, 0, 0, 0), -- Mr. Cat ('17_22', 1, 31757, -81967, 150160, -3122, 0, 0, 16500, 60, 0, 0, 0), -- Miss Queen ('17_22', 1, 31031, -81280, 154369, -3165, 0, 0, 16384, 5, 0, 0, 0), -- Broadcasting Tower --- new Town of Dion +-- New Town of Dion ('20_22', 1, 30990, 15693, 142886, -2696, 0, 0, 16000, 60, 0, 0, 0), -- Lottery Ticket Seller ('20_22', 1, 32327, 15253, 143036, -2672, 0, 0, 64751, 60, 0, 0, 0), -- Adventurers' Guide ('20_22', 1, 31797, 15214, 143122, -2664, 0, 0, 826, 60, 0, 0, 0), -- Adventure Guildsman @@ -42272,9 +42274,6 @@ DELETE FROM `spawnlist` WHERE (npc_templateid='20151' AND locx='-106766' AND loc DELETE FROM spawnlist WHERE npc_templateid in(4324, 4325, 4327, 4328); -- TI NPC Walkers -INSERT INTO `spawnlist` VALUES ('Eleve', '1', '33246', '-114726', '260124', '-1187', '0', '0', '16782', '0', '0', '0', '0'); -INSERT INTO `spawnlist` VALUES ('Karonf', '1', '33242', '-114158', '259444', '-1179', '0', '0', '57343', '0', '0', '0', '0'); -INSERT INTO `spawnlist` VALUES ('Devno', '1', '33241', '-115084', '258935', '-1187', '0', '0', '57343', '0', '0', '0', '0'); INSERT INTO `spawnlist` VALUES ('OldManAndBoy', '1', '33578', '-113894', '257318', '-1131', '0', '0', '58997', '0', '0', '0', '0'); INSERT INTO `spawnlist` VALUES ('Hera', '1', '33208', '-114263', '257326', '-1131', '0', '0', '58070', '0', '0', '0', '0'); INSERT INTO `spawnlist` VALUES ('Rubentis', '1', '33120', '-114593', '255032', '-1523', '0', '0', '38155', '0', '0', '0', '0'); @@ -42299,8 +42298,3 @@ INSERT INTO `spawnlist` VALUES ('19_14', '1', '33830', '17242', '-115022', '-227 INSERT INTO `spawnlist` VALUES ('19_14', '1', '33839', '14731', '-120358', '-1117', '0', '0', '13464', '0', '0', '0', '0'); INSERT INTO `spawnlist` VALUES ('19_14', '1', '33831', '17244', '-114896', '-227', '0', '0', '39326', '0', '0', '0', '0'); INSERT INTO `spawnlist` VALUES ('19_14', '1', '33832', '17148', '-115005', '-229', '0', '0', '18051', '0', '0', '0', '0'); - --- Quest 10325 missing npc spawn -INSERT INTO `spawnlist` VALUES -('16_25', 1, 32159, -117410, 256082, -1296, 0, 0, 62000, 60, 0, 0, 0), -- Kincaid -('16_25', 1, 32144, -117362, 256209, -1296, 0, 0, 62000, 60, 0, 0, 0); -- Xonia diff --git a/trunk/java/com/l2jserver/Config.java b/trunk/java/com/l2jserver/Config.java index 931cf3c75f..8480254f9b 100644 --- a/trunk/java/com/l2jserver/Config.java +++ b/trunk/java/com/l2jserver/Config.java @@ -43,9 +43,11 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Enumeration; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Properties; +import java.util.Set; import java.util.StringTokenizer; import java.util.logging.Level; import java.util.logging.Logger; @@ -59,6 +61,7 @@ import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import com.l2jserver.gameserver.data.xml.IXmlReader; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.IllegalActionPunishmentType; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.Location; @@ -524,6 +527,7 @@ public final class Config public static int PEACE_ZONE_MODE; public static String DEFAULT_GLOBAL_CHAT; public static String DEFAULT_TRADE_CHAT; + public static int MINIMUM_CHAT_LEVEL; public static boolean ALLOW_WAREHOUSE; public static boolean WAREHOUSE_CACHE; public static int WAREHOUSE_CACHE_TIME; @@ -546,13 +550,12 @@ public final class Config public static int BOAT_BROADCAST_RADIUS; public static boolean ALLOW_CURSED_WEAPONS; public static boolean ALLOW_MANOR; - public static boolean ALLOW_PET_WALKERS; public static boolean SERVER_NEWS; public static boolean ENABLE_COMMUNITY_BOARD; public static String BBS_DEFAULT; public static boolean USE_SAY_FILTER; public static String CHAT_FILTER_CHARS; - public static int[] BAN_CHAT_CHANNELS; + public static Set BAN_CHAT_CHANNELS; public static int WORLD_CHAT_MIN_LEVEL; public static int WORLD_CHAT_POINTS_PER_DAY; public static Duration WORLD_CHAT_INTERVAL; @@ -1888,6 +1891,7 @@ public final class Config PEACE_ZONE_MODE = General.getInt("PeaceZoneMode", 0); DEFAULT_GLOBAL_CHAT = General.getString("GlobalChat", "ON"); DEFAULT_TRADE_CHAT = General.getString("TradeChat", "ON"); + MINIMUM_CHAT_LEVEL = General.getInt("MinimumChatLevel", 0); ALLOW_WAREHOUSE = General.getBoolean("AllowWarehouse", true); WAREHOUSE_CACHE = General.getBoolean("WarehouseCache", false); WAREHOUSE_CACHE_TIME = General.getInt("WarehouseCacheTime", 15); @@ -1910,20 +1914,18 @@ public final class Config ALLOW_BOAT = General.getBoolean("AllowBoat", true); BOAT_BROADCAST_RADIUS = General.getInt("BoatBroadcastRadius", 20000); ALLOW_CURSED_WEAPONS = General.getBoolean("AllowCursedWeapons", true); - ALLOW_PET_WALKERS = General.getBoolean("AllowPetWalkers", true); SERVER_NEWS = General.getBoolean("ShowServerNews", false); ENABLE_COMMUNITY_BOARD = General.getBoolean("EnableCommunityBoard", true); BBS_DEFAULT = General.getString("BBSDefault", "_bbshome"); USE_SAY_FILTER = General.getBoolean("UseChatFilter", false); CHAT_FILTER_CHARS = General.getString("ChatFilterChars", "^_^"); - String[] propertySplit4 = General.getString("BanChatChannels", "0;1;8;17").trim().split(";"); - BAN_CHAT_CHANNELS = new int[propertySplit4.length]; + final String[] propertySplit4 = General.getString("BanChatChannels", "GENERAL;SHOUT;GLOBAL;TRADE;HERO_VOICE").trim().split(";"); + BAN_CHAT_CHANNELS = new HashSet<>(); try { - int i = 0; for (String chatId : propertySplit4) { - BAN_CHAT_CHANNELS[i++] = Integer.parseInt(chatId); + BAN_CHAT_CHANNELS.add(Enum.valueOf(ChatType.class, chatId)); } } catch (NumberFormatException nfe) @@ -3324,9 +3326,6 @@ public final class Config case "allowmanor": ALLOW_MANOR = Boolean.parseBoolean(pValue); break; - case "allowpetwalkers": - ALLOW_PET_WALKERS = Boolean.parseBoolean(pValue); - break; case "enablecommunityboard": ENABLE_COMMUNITY_BOARD = Boolean.parseBoolean(pValue); break; diff --git a/trunk/java/com/l2jserver/gameserver/data/sql/impl/AnnouncementsTable.java b/trunk/java/com/l2jserver/gameserver/data/sql/impl/AnnouncementsTable.java index b1dfafe5ac..a236ec8b06 100644 --- a/trunk/java/com/l2jserver/gameserver/data/sql/impl/AnnouncementsTable.java +++ b/trunk/java/com/l2jserver/gameserver/data/sql/impl/AnnouncementsTable.java @@ -28,12 +28,12 @@ import java.util.logging.Level; import java.util.logging.Logger; import com.l2jserver.L2DatabaseFactory; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.announce.Announcement; import com.l2jserver.gameserver.model.announce.AnnouncementType; import com.l2jserver.gameserver.model.announce.AutoAnnouncement; import com.l2jserver.gameserver.model.announce.IAnnouncement; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; /** @@ -112,7 +112,7 @@ public final class AnnouncementsTable { if (announce.isValid() && (announce.getType() == type)) { - player.sendPacket(new CreatureSay(0, Say2.ANNOUNCEMENT, player.getName(), announce.getContent())); + player.sendPacket(new CreatureSay(0, ChatType.ANNOUNCEMENT, player.getName(), announce.getContent())); } } } diff --git a/trunk/java/com/l2jserver/gameserver/enums/ChatType.java b/trunk/java/com/l2jserver/gameserver/enums/ChatType.java new file mode 100644 index 0000000000..ae35518b6b --- /dev/null +++ b/trunk/java/com/l2jserver/gameserver/enums/ChatType.java @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2004-2015 L2J Server + * + * This file is part of L2J Server. + * + * L2J Server is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J Server is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.l2jserver.gameserver.enums; + +/** + * @author St3eT + */ +public enum ChatType +{ + GENERAL(0), + SHOUT(1), + TELL(2), + PARTY(3), + CLAN(4), + GM(5), + PETITION_PLAYER(6), + PETITION_GM(7), + TRADE(8), + ALLIANCE(9), + ANNOUNCEMENT(10), + BOAT(11), + FRIEND(12), + MSNCHAT(13), + PARTYMATCH_ROOM(14), + PARTYROOM_COMMANDER(15), + PARTYROOM_ALL(16), + HERO_VOICE(17), + CRITICAL_ANNOUNCE(18), + SCREEN_ANNOUNCE(19), + BATTLEFIELD(20), + MPCC_ROOM(21), + NPC_GENERAL(22), + NPC_SHOUT(23), + NPC_TELL(24), + GLOBAL(25); + + private final int _clientId; + + private ChatType(int clientId) + { + _clientId = clientId; + } + + /** + * @return the client id. + */ + public int getClientId() + { + return _clientId; + } + + /** + * Finds the {@code ChatType} by its clientId + * @param clientId the clientId + * @return the {@code ChatType} if its found, {@code null} otherwise. + */ + public static ChatType findByClientId(int clientId) + { + for (ChatType ChatType : values()) + { + if (ChatType.getClientId() == clientId) + { + return ChatType; + } + } + return null; + } +} \ No newline at end of file diff --git a/trunk/java/com/l2jserver/gameserver/enums/SubclassInfoType.java b/trunk/java/com/l2jserver/gameserver/enums/SubclassInfoType.java new file mode 100644 index 0000000000..ee6276ea18 --- /dev/null +++ b/trunk/java/com/l2jserver/gameserver/enums/SubclassInfoType.java @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2004-2015 L2J Server + * + * This file is part of L2J Server. + * + * L2J Server is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * L2J Server is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.l2jserver.gameserver.enums; + +/** + * @author malyelfik + */ +public enum SubclassInfoType +{ + NO_CHANGES, + NEW_SLOT_USED, + CLASS_CHANGED +} \ No newline at end of file diff --git a/trunk/java/com/l2jserver/gameserver/handler/ChatHandler.java b/trunk/java/com/l2jserver/gameserver/handler/ChatHandler.java index 8cc0ba37b1..a0966c2fde 100644 --- a/trunk/java/com/l2jserver/gameserver/handler/ChatHandler.java +++ b/trunk/java/com/l2jserver/gameserver/handler/ChatHandler.java @@ -18,23 +18,25 @@ */ package com.l2jserver.gameserver.handler; -import java.util.HashMap; +import java.util.EnumMap; import java.util.Map; +import com.l2jserver.gameserver.enums.ChatType; + /** * This class handles all chat handlers * @author durgus, UnAfraid */ -public class ChatHandler implements IHandler +public class ChatHandler implements IHandler { - private final Map _datatable; + private final Map _datatable = new EnumMap<>(ChatType.class); /** * Singleton constructor */ protected ChatHandler() { - _datatable = new HashMap<>(); + } /** @@ -44,20 +46,18 @@ public class ChatHandler implements IHandler @Override public void registerHandler(IChatHandler handler) { - int[] ids = handler.getChatTypeList(); - for (int id : ids) + for (ChatType type : handler.getChatTypeList()) { - _datatable.put(id, handler); + _datatable.put(type, handler); } } @Override public synchronized void removeHandler(IChatHandler handler) { - int[] ids = handler.getChatTypeList(); - for (int id : ids) + for (ChatType type : handler.getChatTypeList()) { - _datatable.remove(id); + _datatable.remove(type); } } @@ -67,7 +67,7 @@ public class ChatHandler implements IHandler * @return */ @Override - public IChatHandler getHandler(Integer chatType) + public IChatHandler getHandler(ChatType chatType) { return _datatable.get(chatType); } diff --git a/trunk/java/com/l2jserver/gameserver/handler/IChatHandler.java b/trunk/java/com/l2jserver/gameserver/handler/IChatHandler.java index 1c5abb51d0..05170de784 100644 --- a/trunk/java/com/l2jserver/gameserver/handler/IChatHandler.java +++ b/trunk/java/com/l2jserver/gameserver/handler/IChatHandler.java @@ -18,6 +18,7 @@ */ package com.l2jserver.gameserver.handler; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; /** @@ -33,11 +34,11 @@ public interface IChatHandler * @param target * @param text */ - public void handleChat(int type, L2PcInstance activeChar, String target, String text); + public void handleChat(ChatType type, L2PcInstance activeChar, String target, String text); /** * Returns a list of all chat types registered to this handler * @return */ - public int[] getChatTypeList(); + public ChatType[] getChatTypeList(); } \ No newline at end of file diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/PetitionManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/PetitionManager.java index c32acc0433..94b80b444b 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/PetitionManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/PetitionManager.java @@ -26,11 +26,11 @@ import java.util.logging.Logger; import com.l2jserver.Config; import com.l2jserver.gameserver.data.xml.impl.AdminData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.PetitionState; import com.l2jserver.gameserver.model.Petition; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; @@ -342,7 +342,7 @@ public final class PetitionManager if ((currPetition.getPetitioner() != null) && (currPetition.getPetitioner().getObjectId() == player.getObjectId())) { - cs = new CreatureSay(player.getObjectId(), Say2.PETITION_PLAYER, player.getName(), messageText); + cs = new CreatureSay(player.getObjectId(), ChatType.PETITION_PLAYER, player.getName(), messageText); currPetition.addLogMessage(cs); currPetition.sendResponderPacket(cs); @@ -352,7 +352,7 @@ public final class PetitionManager if ((currPetition.getResponder() != null) && (currPetition.getResponder().getObjectId() == player.getObjectId())) { - cs = new CreatureSay(player.getObjectId(), Say2.PETITION_GM, player.getName(), messageText); + cs = new CreatureSay(player.getObjectId(), ChatType.PETITION_GM, player.getName(), messageText); currPetition.addLogMessage(cs); currPetition.sendResponderPacket(cs); @@ -425,7 +425,7 @@ public final class PetitionManager // Notify all GMs that a new petition has been submitted. final String msgContent = petitioner.getName() + " has submitted a new petition."; // (ID: " + newPetitionId + ")."; - AdminData.getInstance().broadcastToGMs(new CreatureSay(petitioner.getObjectId(), Say2.HERO_VOICE, "Petition System", msgContent)); + AdminData.getInstance().broadcastToGMs(new CreatureSay(petitioner.getObjectId(), ChatType.HERO_VOICE, "Petition System", msgContent)); return newPetitionId; } diff --git a/trunk/java/com/l2jserver/gameserver/instancemanager/WalkingManager.java b/trunk/java/com/l2jserver/gameserver/instancemanager/WalkingManager.java index b10fdaadb9..7cd5e1c6a0 100644 --- a/trunk/java/com/l2jserver/gameserver/instancemanager/WalkingManager.java +++ b/trunk/java/com/l2jserver/gameserver/instancemanager/WalkingManager.java @@ -30,6 +30,7 @@ import org.w3c.dom.Node; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.data.xml.IXmlReader; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.tasks.StartMovingTask; import com.l2jserver.gameserver.model.L2NpcWalkerNode; import com.l2jserver.gameserver.model.L2WalkRoute; @@ -42,7 +43,6 @@ import com.l2jserver.gameserver.model.events.EventDispatcher; import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcMoveNodeArrived; import com.l2jserver.gameserver.model.holders.NpcRoutesHolder; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.util.Broadcast; @@ -429,11 +429,11 @@ public final class WalkingManager implements IXmlReader if (node.getNpcString() != null) { - Broadcast.toKnownPlayers(npc, new NpcSay(npc, Say2.NPC_ALL, node.getNpcString())); + Broadcast.toKnownPlayers(npc, new NpcSay(npc, ChatType.NPC_GENERAL, node.getNpcString())); } else if (!node.getChatText().isEmpty()) { - Broadcast.toKnownPlayers(npc, new NpcSay(npc, Say2.NPC_ALL, node.getChatText())); + Broadcast.toKnownPlayers(npc, new NpcSay(npc, ChatType.NPC_GENERAL, node.getChatText())); } if (npc.isDebug()) diff --git a/trunk/java/com/l2jserver/gameserver/model/CharEffectList.java b/trunk/java/com/l2jserver/gameserver/model/CharEffectList.java index 96baf449a1..8814520887 100644 --- a/trunk/java/com/l2jserver/gameserver/model/CharEffectList.java +++ b/trunk/java/com/l2jserver/gameserver/model/CharEffectList.java @@ -858,8 +858,7 @@ public final class CharEffectList public void stopEffects(L2EffectType type) { boolean update = false; - final Consumer action = info -> - { + final Consumer action = info -> { if (info.getEffects().stream().anyMatch(effect -> (effect != null) && (effect.getEffectType() == type))) { stopAndRemove(info); @@ -1022,25 +1021,25 @@ public final class CharEffectList { if (hasBuffs()) { - getBuffs().values().stream().filter(info -> info.getSkill().isRemovedOnDamage()).forEach(info -> stopAndRemove(info, getBuffs())); + getBuffs().values().stream().filter(Objects::nonNull).filter(info -> info.getSkill().isRemovedOnDamage()).forEach(info -> stopAndRemove(info, getBuffs())); update = true; } if (hasTriggered()) { - getTriggered().values().stream().filter(info -> info.getSkill().isRemovedOnDamage()).forEach(info -> stopAndRemove(info, getTriggered())); + getTriggered().values().stream().filter(Objects::nonNull).filter(info -> info.getSkill().isRemovedOnDamage()).forEach(info -> stopAndRemove(info, getTriggered())); update = true; } if (hasDances()) { - getDances().values().stream().filter(info -> info.getSkill().isRemovedOnDamage()).forEach(info -> stopAndRemove(info, getDances())); + getDances().values().stream().filter(Objects::nonNull).filter(info -> info.getSkill().isRemovedOnDamage()).forEach(info -> stopAndRemove(info, getDances())); update = true; } if (hasToggles()) { - getToggles().values().stream().filter(info -> info.getSkill().isRemovedOnDamage()).forEach(info -> stopAndRemove(info, getToggles())); + getToggles().values().stream().filter(Objects::nonNull).filter(info -> info.getSkill().isRemovedOnDamage()).forEach(info -> stopAndRemove(info, getToggles())); update = true; } } @@ -1049,7 +1048,7 @@ public final class CharEffectList { if (hasDebuffs()) { - getDebuffs().values().stream().filter(info -> info.getSkill().isRemovedOnDamage()).forEach(info -> stopAndRemove(info, getDebuffs())); + getDebuffs().values().stream().filter(Objects::nonNull).filter(info -> info.getSkill().isRemovedOnDamage()).forEach(info -> stopAndRemove(info, getDebuffs())); update = true; } } diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/L2Attackable.java b/trunk/java/com/l2jserver/gameserver/model/actor/L2Attackable.java index 666ec456f1..0161981560 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/L2Attackable.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/L2Attackable.java @@ -39,6 +39,7 @@ import com.l2jserver.gameserver.ai.L2SiegeGuardAI; import com.l2jserver.gameserver.datatables.EventDroplist; import com.l2jserver.gameserver.datatables.EventDroplist.DateDrop; import com.l2jserver.gameserver.datatables.ItemTable; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.InstanceType; import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager; import com.l2jserver.gameserver.instancemanager.PcCafePointsManager; @@ -69,7 +70,6 @@ import com.l2jserver.gameserver.model.items.instance.L2ItemInstance; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.model.stats.Stats; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; import com.l2jserver.gameserver.taskmanager.DecayTaskManager; @@ -279,7 +279,7 @@ public class L2Attackable extends L2Npc _commandChannelTimer = new CommandChannelTimer(this); _commandChannelLastAttack = System.currentTimeMillis(); ThreadPoolManager.getInstance().scheduleGeneral(_commandChannelTimer, 10000); // check for last attack - _firstCommandChannelAttacked.broadcastPacket(new CreatureSay(0, Say2.PARTYROOM_ALL, "", "You have looting rights!")); // TODO: retail msg + _firstCommandChannelAttacked.broadcastPacket(new CreatureSay(0, ChatType.PARTYROOM_ALL, "", "You have looting rights!")); // TODO: retail msg } } } diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2FortCommanderInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2FortCommanderInstance.java index 741cc8dade..b01221421e 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2FortCommanderInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2FortCommanderInstance.java @@ -23,6 +23,7 @@ import javolution.util.FastList; import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.InstanceType; import com.l2jserver.gameserver.instancemanager.FortSiegeManager; import com.l2jserver.gameserver.model.FortSiegeSpawn; @@ -32,7 +33,6 @@ import com.l2jserver.gameserver.model.actor.L2Summon; import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; public class L2FortCommanderInstance extends L2DefenderInstance @@ -148,7 +148,7 @@ public class L2FortCommanderInstance extends L2DefenderInstance } if (npcString != null) { - NpcSay ns = new NpcSay(getObjectId(), Say2.NPC_SHOUT, getId(), npcString); + NpcSay ns = new NpcSay(getObjectId(), ChatType.NPC_SHOUT, getId(), npcString); if (npcString.getParamCount() == 1) { ns.addStringParameter(attacker.getName()); diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java index 5e0c49fc23..dc7d9fcbd5 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java @@ -84,6 +84,7 @@ import com.l2jserver.gameserver.datatables.ItemTable; import com.l2jserver.gameserver.datatables.SkillData; import com.l2jserver.gameserver.enums.CastleSide; import com.l2jserver.gameserver.enums.CategoryType; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.HtmlActionScope; import com.l2jserver.gameserver.enums.IllegalActionPunishmentType; import com.l2jserver.gameserver.enums.InstanceType; @@ -96,6 +97,7 @@ import com.l2jserver.gameserver.enums.Race; import com.l2jserver.gameserver.enums.Sex; import com.l2jserver.gameserver.enums.ShortcutType; import com.l2jserver.gameserver.enums.ShotType; +import com.l2jserver.gameserver.enums.SubclassInfoType; import com.l2jserver.gameserver.enums.Team; import com.l2jserver.gameserver.enums.UserInfoType; import com.l2jserver.gameserver.handler.IItemHandler; @@ -365,8 +367,8 @@ public final class L2PcInstance extends L2Playable private static final String DELETE_ITEM_REUSE_SAVE = "DELETE FROM character_item_reuse_save WHERE charId=?"; // Character Character SQL String Definitions: - private static final String INSERT_CHARACTER = "INSERT INTO characters (account_name,charId,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp,face,hairStyle,hairColor,sex,exp,sp,karma,fame,pvpkills,pkkills,clanid,race,classid,deletetime,cancraft,title,title_color,accesslevel,online,isin7sdungeon,clan_privs,wantspeace,base_class,newbie,nobless,power_grade,createDate) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; - private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,face=?,hairStyle=?,hairColor=?,sex=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,fame=?,pvpkills=?,pkkills=?,clanid=?,race=?,classid=?,deletetime=?,title=?,title_color=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,newbie=?,nobless=?,power_grade=?,subpledge=?,lvl_joined_academy=?,apprentice=?,sponsor=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,death_penalty_level=?,bookmarkslot=?,vitality_points=?,pccafe_points=?,language=?,faction=? WHERE charId=?"; + private static final String INSERT_CHARACTER = "INSERT INTO characters (account_name,charId,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp,face,hairStyle,hairColor,sex,exp,sp,karma,fame,pvpkills,pkkills,clanid,race,classid,deletetime,cancraft,title,title_color,accesslevel,online,clan_privs,wantspeace,base_class,nobless,power_grade,createDate) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; + private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,face=?,hairStyle=?,hairColor=?,sex=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,fame=?,pvpkills=?,pkkills=?,clanid=?,race=?,classid=?,deletetime=?,title=?,title_color=?,accesslevel=?,online=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,nobless=?,power_grade=?,subpledge=?,lvl_joined_academy=?,apprentice=?,sponsor=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,death_penalty_level=?,bookmarkslot=?,vitality_points=?,pccafe_points=?,language=?,faction=? WHERE charId=?"; private static final String RESTORE_CHARACTER = "SELECT * FROM characters WHERE charId=?"; // Character Premium System String Definitions: @@ -400,8 +402,6 @@ public final class L2PcInstance extends L2Playable private static final String COND_OVERRIDE_KEY = "cond_override"; - public static final String NEWBIE_KEY = "NEWBIE"; - public static final int ID_NONE = -1; public static final int REQUEST_TIMEOUT = 15; @@ -608,9 +608,6 @@ public final class L2PcInstance extends L2Playable // Multisell private PreparedListContainer _currentMultiSell = null; - /** Bitmask used to keep track of one-time/newbie quest rewards */ - private int _newbie; - private boolean _noble = false; private boolean _hero = false; @@ -935,6 +932,8 @@ public final class L2PcInstance extends L2Playable private boolean _hasCharmOfCourage = false; + private final Set _whispepers = ConcurrentHashMap.newKeySet(); + private int _jumpTrackId = 0; /** @@ -961,8 +960,6 @@ public final class L2PcInstance extends L2Playable player.setCreateDate(Calendar.getInstance()); // Set the base class ID to that of the actual class ID. player.setBaseClass(player.getClassId()); - // Kept for backwards compatibility. - player.setNewbie(1); // Give 20 recommendations player.setRecomLeft(20); // Add the player in the characters table of the database @@ -1259,23 +1256,6 @@ public final class L2PcInstance extends L2Playable return super.getLevelMod(); } - /** - * @return the _newbie rewards state of the L2PcInstance. - */ - public int getNewbie() - { - return _newbie; - } - - /** - * Set the _newbie rewards state of the L2PcInstance. - * @param newbieRewards The Identifier of the _newbie state - */ - public void setNewbie(int newbieRewards) - { - _newbie = newbieRewards; - } - public void setBaseClass(int baseClass) { _baseClass = baseClass; @@ -2426,6 +2406,8 @@ public final class L2PcInstance extends L2Playable getClan().broadcastToOnlineMembers(new PledgeShowMemberListUpdate(this)); } + sendPacket(new ExSubjobInfo(this, SubclassInfoType.CLASS_CHANGED)); + // Add AutoGet skills and normal skills and/or learnByFS depending on configurations. rewardSkills(); @@ -7025,14 +7007,12 @@ public final class L2PcInstance extends L2Playable statement.setInt(27, getAppearance().getTitleColor()); statement.setInt(28, getAccessLevel().getLevel()); statement.setInt(29, isOnlineInt()); - statement.setInt(30, 0); // Unused - statement.setInt(31, getClanPrivileges().getBitmask()); - statement.setInt(32, getWantsPeace()); - statement.setInt(33, getBaseClass()); - statement.setInt(34, getNewbie()); - statement.setInt(35, isNoble() ? 1 : 0); - statement.setLong(36, 0); - statement.setDate(37, new Date(getCreateDate().getTimeInMillis())); + statement.setInt(30, getClanPrivileges().getBitmask()); + statement.setInt(31, getWantsPeace()); + statement.setInt(32, getBaseClass()); + statement.setInt(33, isNoble() ? 1 : 0); + statement.setLong(34, 0); + statement.setDate(35, new Date(getCreateDate().getTimeInMillis())); statement.executeUpdate(); } catch (Exception e) @@ -7088,7 +7068,6 @@ public final class L2PcInstance extends L2Playable player.setPvpKills(rset.getInt("pvpkills")); player.setPkKills(rset.getInt("pkkills")); player.setOnlineTime(rset.getLong("onlinetime")); - player.setNewbie(rset.getInt("newbie")); player.setNoble(rset.getInt("nobless") == 1); final int factionId = rset.getInt("faction"); @@ -7660,10 +7639,9 @@ public final class L2PcInstance extends L2Playable statement.setInt(28, getAppearance().getTitleColor()); statement.setInt(29, getAccessLevel().getLevel()); statement.setInt(30, isOnlineInt()); - statement.setInt(31, 0); // Unused - statement.setInt(32, getClanPrivileges().getBitmask()); - statement.setInt(33, getWantsPeace()); - statement.setInt(34, getBaseClass()); + statement.setInt(31, getClanPrivileges().getBitmask()); + statement.setInt(32, getWantsPeace()); + statement.setInt(33, getBaseClass()); long totalOnlineTime = _onlineTime; if (_onlineBeginTime > 0) @@ -7671,22 +7649,21 @@ public final class L2PcInstance extends L2Playable totalOnlineTime += (System.currentTimeMillis() - _onlineBeginTime) / 1000; } - statement.setLong(35, totalOnlineTime); - statement.setInt(36, getNewbie()); - statement.setInt(37, isNoble() ? 1 : 0); - statement.setInt(38, getPowerGrade()); - statement.setInt(39, getPledgeType()); - statement.setInt(40, getLvlJoinedAcademy()); - statement.setLong(41, getApprentice()); - statement.setLong(42, getSponsor()); - statement.setLong(43, getClanJoinExpiryTime()); - statement.setLong(44, getClanCreateExpiryTime()); - statement.setString(45, getName()); - statement.setLong(46, 0); // unset - statement.setInt(47, getBookMarkSlot()); - statement.setInt(48, _vitalityPoints); // unset - statement.setInt(49, getPcBangPoints()); - statement.setString(50, getLang()); + statement.setLong(34, totalOnlineTime); + statement.setInt(35, isNoble() ? 1 : 0); + statement.setInt(36, getPowerGrade()); + statement.setInt(37, getPledgeType()); + statement.setInt(38, getLvlJoinedAcademy()); + statement.setLong(39, getApprentice()); + statement.setLong(40, getSponsor()); + statement.setLong(41, getClanJoinExpiryTime()); + statement.setLong(42, getClanCreateExpiryTime()); + statement.setString(43, getName()); + statement.setLong(44, 0); // unset + statement.setInt(45, getBookMarkSlot()); + statement.setInt(46, _vitalityPoints); // unset + statement.setInt(47, getPcBangPoints()); + statement.setString(48, getLang()); int factionId = 0; if (isGood()) @@ -7697,9 +7674,9 @@ public final class L2PcInstance extends L2Playable { factionId = 2; } - statement.setInt(51, factionId); + statement.setInt(49, factionId); - statement.setInt(52, getObjectId()); + statement.setInt(50, getObjectId()); statement.execute(); } catch (Exception e) @@ -10752,7 +10729,6 @@ public final class L2PcInstance extends L2Playable broadcastPacket(new SocialAction(getObjectId(), SocialAction.LEVEL_UP)); sendPacket(new SkillCoolTime(this)); sendPacket(new ExStorageMaxCount(this)); - sendPacket(new ExSubjobInfo(this)); EventDispatcher.getInstance().notifyEventAsync(new OnPlayerSubChange(this), this); return true; @@ -11176,8 +11152,7 @@ public final class L2PcInstance extends L2Playable pet.updateAndBroadcastStatus(0); } - getServitors().values().forEach(s -> - { + getServitors().values().forEach(s -> { s.setFollowStatus(false); s.teleToLocation(getLocation(), false); ((L2SummonAI) s.getAI()).setStartFollowController(true); @@ -11282,11 +11257,11 @@ public final class L2PcInstance extends L2Playable } } - public void broadcastSnoop(int type, String name, String _text) + public void broadcastSnoop(ChatType type, String name, String _text) { if (!_snoopListener.isEmpty()) { - Snoop sn = new Snoop(getObjectId(), getName(), type, name, _text); + final Snoop sn = new Snoop(getObjectId(), getName(), type, name, _text); for (L2PcInstance pci : _snoopListener) { @@ -11780,8 +11755,7 @@ public final class L2PcInstance extends L2Playable } } - getServitors().values().forEach(s -> - { + getServitors().values().forEach(s -> { s.setRestoreSummon(true); s.unSummon(this); }); @@ -15196,4 +15170,13 @@ public final class L2PcInstance extends L2Playable vars.set("PRIME_POINTS", points); vars.storeMe(); } + + /** + * Gets the whisperers. + * @return the whisperers + */ + public Set getWhisperers() + { + return _whispepers; + } } diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2SepulcherMonsterInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2SepulcherMonsterInstance.java index 816b3ce070..bbf6415039 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2SepulcherMonsterInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2SepulcherMonsterInstance.java @@ -21,6 +21,7 @@ package com.l2jserver.gameserver.model.actor.instance; import java.util.concurrent.Future; import com.l2jserver.gameserver.ThreadPoolManager; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.InstanceType; import com.l2jserver.gameserver.instancemanager.FourSepulchersManager; import com.l2jserver.gameserver.model.actor.L2Character; @@ -359,7 +360,7 @@ public class L2SepulcherMonsterInstance extends L2MonsterInstance return; } - broadcastPacket(new NpcSay(getObjectId(), 0, getId(), "forgive me!!")); + broadcastPacket(new NpcSay(getObjectId(), ChatType.NPC_GENERAL, getId(), "forgive me!!")); } } @@ -386,7 +387,7 @@ public class L2SepulcherMonsterInstance extends L2MonsterInstance } FourSepulchersManager.getInstance().spawnKeyBox(_activeChar); - broadcastPacket(new NpcSay(getObjectId(), 0, getId(), "Many thanks for rescue me.")); + broadcastPacket(new NpcSay(getObjectId(), ChatType.NPC_GENERAL, getId(), "Many thanks for rescue me.")); if (_victimShout != null) { _victimShout.cancel(true); diff --git a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2SepulcherNpcInstance.java b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2SepulcherNpcInstance.java index d35de573b7..286b4b09f1 100644 --- a/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2SepulcherNpcInstance.java +++ b/trunk/java/com/l2jserver/gameserver/model/actor/instance/L2SepulcherNpcInstance.java @@ -24,6 +24,7 @@ import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.data.xml.impl.DoorData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.InstanceType; import com.l2jserver.gameserver.instancemanager.FourSepulchersManager; import com.l2jserver.gameserver.model.L2World; @@ -34,7 +35,6 @@ import com.l2jserver.gameserver.model.events.EventType; import com.l2jserver.gameserver.model.events.impl.character.npc.OnNpcFirstTalk; import com.l2jserver.gameserver.model.items.instance.L2ItemInstance; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.ActionFailed; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; @@ -433,7 +433,7 @@ public class L2SepulcherNpcInstance extends L2Npc return;// wrong usage } - final CreatureSay creatureSay = new CreatureSay(0, Say2.NPC_SHOUT, getName(), msg); + final CreatureSay creatureSay = new CreatureSay(0, ChatType.NPC_SHOUT, getName(), msg); for (L2PcInstance player : L2World.getInstance().getPlayers()) { if (Util.checkIfInRange(15000, player, this, true)) diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/FortSiege.java b/trunk/java/com/l2jserver/gameserver/model/entity/FortSiege.java index f2592ee5da..57424ad335 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/FortSiege.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/FortSiege.java @@ -34,6 +34,7 @@ import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.data.sql.impl.ClanTable; import com.l2jserver.gameserver.data.xml.impl.NpcData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.FortTeleportWhoType; import com.l2jserver.gameserver.enums.SiegeClanType; import com.l2jserver.gameserver.instancemanager.FortManager; @@ -57,7 +58,6 @@ import com.l2jserver.gameserver.model.events.impl.sieges.fort.OnFortSiegeFinish; import com.l2jserver.gameserver.model.events.impl.sieges.fort.OnFortSiegeStart; import com.l2jserver.gameserver.network.NpcStringId; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; @@ -648,7 +648,7 @@ public class FortSiege implements Siegable } if (npcString != null) { - instance.broadcastPacket(new NpcSay(instance.getObjectId(), Say2.NPC_SHOUT, instance.getId(), npcString)); + instance.broadcastPacket(new NpcSay(instance.getObjectId(), ChatType.NPC_SHOUT, instance.getId(), npcString)); } } } diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/Instance.java b/trunk/java/com/l2jserver/gameserver/model/entity/Instance.java index bd53d047e3..54dceaf242 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/Instance.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/Instance.java @@ -45,6 +45,7 @@ import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.data.xml.impl.DoorData; import com.l2jserver.gameserver.data.xml.impl.NpcData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.InstanceReenterType; import com.l2jserver.gameserver.enums.InstanceRemoveBuffType; import com.l2jserver.gameserver.idfactory.IdFactory; @@ -64,7 +65,6 @@ import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate; import com.l2jserver.gameserver.model.holders.InstanceReenterTimeHolder; import com.l2jserver.gameserver.model.instancezone.InstanceWorld; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; import com.l2jserver.gameserver.util.Broadcast; @@ -801,14 +801,14 @@ public final class Instance { timeLeft = remaining / 1000; interval = 30000; - cs = new CreatureSay(0, Say2.ALLIANCE, "Notice", timeLeft + " seconds left."); + cs = new CreatureSay(0, ChatType.ALLIANCE, "Notice", timeLeft + " seconds left."); remaining = remaining - 30000; } else { timeLeft = remaining / 1000; interval = 10000; - cs = new CreatureSay(0, Say2.ALLIANCE, "Notice", timeLeft + " seconds left."); + cs = new CreatureSay(0, ChatType.ALLIANCE, "Notice", timeLeft + " seconds left."); remaining = remaining - 10000; } if (cs != null) @@ -857,8 +857,7 @@ public final class Instance { if ((player != null)) { - _ejectDeadTasks.put(player.getObjectId(), ThreadPoolManager.getInstance().scheduleGeneral(() -> - { + _ejectDeadTasks.put(player.getObjectId(), ThreadPoolManager.getInstance().scheduleGeneral(() -> { if (player.isDead() && (player.getInstanceId() == getId())) { player.setInstanceId(0); diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/TvTEvent.java b/trunk/java/com/l2jserver/gameserver/model/entity/TvTEvent.java index 9e9f76b0bf..e6df880349 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/TvTEvent.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/TvTEvent.java @@ -34,6 +34,7 @@ import com.l2jserver.gameserver.data.xml.impl.NpcData; import com.l2jserver.gameserver.datatables.ItemTable; import com.l2jserver.gameserver.datatables.SkillData; import com.l2jserver.gameserver.datatables.SpawnTable; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.AntiFeedManager; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.model.L2Spawn; @@ -54,7 +55,6 @@ import com.l2jserver.gameserver.model.events.impl.events.OnTvTEventStart; import com.l2jserver.gameserver.model.itemcontainer.PcInventory; import com.l2jserver.gameserver.model.skills.Skill; import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.network.serverpackets.ExUserInfoInvenWeight; import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse; @@ -856,7 +856,7 @@ public class TvTEvent killerTeam.increasePoints(); - CreatureSay cs = new CreatureSay(killerPlayerInstance.getObjectId(), Say2.TELL, killerPlayerInstance.getName(), "I have killed " + killedPlayerInstance.getName() + "!"); + CreatureSay cs = new CreatureSay(killerPlayerInstance.getObjectId(), ChatType.TELL, killerPlayerInstance.getName(), "I have killed " + killedPlayerInstance.getName() + "!"); for (L2PcInstance playerInstance : _teams[killerTeamId].getParticipatedPlayers().values()) { diff --git a/trunk/java/com/l2jserver/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java b/trunk/java/com/l2jserver/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java index de0708c9eb..bd040aba82 100644 --- a/trunk/java/com/l2jserver/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java +++ b/trunk/java/com/l2jserver/gameserver/model/entity/clanhall/ClanHallSiegeEngine.java @@ -35,6 +35,7 @@ import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.data.sql.impl.ClanTable; import com.l2jserver.gameserver.data.xml.impl.NpcData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.SiegeClanType; import com.l2jserver.gameserver.instancemanager.CHSiegeManager; import com.l2jserver.gameserver.instancemanager.MapRegionManager; @@ -480,7 +481,7 @@ public abstract class ClanHallSiegeEngine extends Quest implements Siegable return Config.CHS_FAME_FREQUENCY; } - public final void broadcastNpcSay(final L2Npc npc, final int type, final NpcStringId messageId) + public final void broadcastNpcSay(final L2Npc npc, final ChatType type, final NpcStringId messageId) { final NpcSay npcSay = new NpcSay(npc.getObjectId(), type, npc.getId(), messageId); final int sourceRegion = MapRegionManager.getInstance().getMapRegionLocId(npc); diff --git a/trunk/java/com/l2jserver/gameserver/model/events/impl/character/player/OnPlayerChat.java b/trunk/java/com/l2jserver/gameserver/model/events/impl/character/player/OnPlayerChat.java index e23d21e7a2..511d4231f1 100644 --- a/trunk/java/com/l2jserver/gameserver/model/events/impl/character/player/OnPlayerChat.java +++ b/trunk/java/com/l2jserver/gameserver/model/events/impl/character/player/OnPlayerChat.java @@ -18,6 +18,7 @@ */ package com.l2jserver.gameserver.model.events.impl.character.player; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.events.EventType; import com.l2jserver.gameserver.model.events.impl.IBaseEvent; @@ -30,9 +31,9 @@ public class OnPlayerChat implements IBaseEvent private final L2PcInstance _activeChar; private final L2PcInstance _target; private final String _text; - private final int _type; + private final ChatType _type; - public OnPlayerChat(L2PcInstance activeChar, L2PcInstance target, String text, int type) + public OnPlayerChat(L2PcInstance activeChar, L2PcInstance target, String text, ChatType type) { _activeChar = activeChar; _target = target; @@ -55,7 +56,7 @@ public class OnPlayerChat implements IBaseEvent return _text; } - public int getChatType() + public ChatType getChatType() { return _type; } diff --git a/trunk/java/com/l2jserver/gameserver/model/olympiad/OlympiadAnnouncer.java b/trunk/java/com/l2jserver/gameserver/model/olympiad/OlympiadAnnouncer.java index d6a414e298..17a3ce077e 100644 --- a/trunk/java/com/l2jserver/gameserver/model/olympiad/OlympiadAnnouncer.java +++ b/trunk/java/com/l2jserver/gameserver/model/olympiad/OlympiadAnnouncer.java @@ -21,10 +21,10 @@ package com.l2jserver.gameserver.model.olympiad; import java.util.Set; import com.l2jserver.gameserver.datatables.SpawnTable; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2Spawn; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.network.NpcStringId; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; /** @@ -79,7 +79,7 @@ public final class OlympiadAnnouncer implements Runnable manager = spawn.getLastSpawn(); if (manager != null) { - packet = new NpcSay(manager.getObjectId(), Say2.NPC_SHOUT, manager.getId(), npcString); + packet = new NpcSay(manager.getObjectId(), ChatType.NPC_SHOUT, manager.getId(), npcString); packet.addStringParameter(arenaId); manager.broadcastPacket(packet); } diff --git a/trunk/java/com/l2jserver/gameserver/model/skills/AbnormalType.java b/trunk/java/com/l2jserver/gameserver/model/skills/AbnormalType.java index 9953f412b8..a7aab22b0c 100644 --- a/trunk/java/com/l2jserver/gameserver/model/skills/AbnormalType.java +++ b/trunk/java/com/l2jserver/gameserver/model/skills/AbnormalType.java @@ -172,6 +172,7 @@ public enum AbnormalType IRON_SHIELD_I, KAMAEL_SPECIAL, KNIGHT_AURA, + KNOCK_DOWN, LIFE_FORCE_KAMAEL, LIFE_FORCE_ORC, LIFE_FORCE_OTHERS, @@ -183,6 +184,7 @@ public enum AbnormalType MAX_BREATH_UP, MAX_HP_DOWN, MAX_HP_UP, + MAX_HP_CP_UP, MAX_MP_UP, MA_DOWN, MA_MD_UP, diff --git a/trunk/java/com/l2jserver/gameserver/model/stats/TraitType.java b/trunk/java/com/l2jserver/gameserver/model/stats/TraitType.java index 14bd5e489d..43cf09b643 100644 --- a/trunk/java/com/l2jserver/gameserver/model/stats/TraitType.java +++ b/trunk/java/com/l2jserver/gameserver/model/stats/TraitType.java @@ -66,6 +66,8 @@ public enum TraitType UNK_40(40, 3), DUALDAGGER(41, 1), DUALBLUNT(42, 1), + KNOCKBACK(43, 3), + KNOCKDOWN(44, 3), NONE(43, 0); private final int _id; @@ -86,4 +88,4 @@ public enum TraitType { return _type; } -} \ No newline at end of file +} diff --git a/trunk/java/com/l2jserver/gameserver/model/variables/NpcVariables.java b/trunk/java/com/l2jserver/gameserver/model/variables/NpcVariables.java index 81f193da6a..cdcc7c738b 100644 --- a/trunk/java/com/l2jserver/gameserver/model/variables/NpcVariables.java +++ b/trunk/java/com/l2jserver/gameserver/model/variables/NpcVariables.java @@ -18,15 +18,15 @@ */ package com.l2jserver.gameserver.model.variables; +import com.l2jserver.gameserver.model.actor.L2Summon; +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; + /** + * NPC Variables implementation. * @author GKR */ public class NpcVariables extends AbstractVariables { - public NpcVariables() - { - } - @Override public int getInt(String key) { @@ -50,4 +50,24 @@ public class NpcVariables extends AbstractVariables { return true; } + + /** + * Gets the stored player. + * @param name the name of the variable + * @return the stored player or {@code null} + */ + public L2PcInstance getPlayer(String name) + { + return getObject(name, L2PcInstance.class); + } + + /** + * Gets the stored summon. + * @param name the name of the variable + * @return the stored summon or {@code null} + */ + public L2Summon getSummon(String name) + { + return getObject(name, L2Summon.class); + } } \ No newline at end of file diff --git a/trunk/java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java b/trunk/java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java index fdd44a7633..604f001feb 100644 --- a/trunk/java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java +++ b/trunk/java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java @@ -27,6 +27,7 @@ import com.l2jserver.gameserver.data.xml.impl.AdminData; import com.l2jserver.gameserver.data.xml.impl.BeautyShopData; import com.l2jserver.gameserver.data.xml.impl.SkillTreesData; import com.l2jserver.gameserver.enums.Race; +import com.l2jserver.gameserver.enums.SubclassInfoType; import com.l2jserver.gameserver.instancemanager.CHSiegeManager; import com.l2jserver.gameserver.instancemanager.CastleManager; import com.l2jserver.gameserver.instancemanager.ClanHallManager; @@ -73,6 +74,7 @@ import com.l2jserver.gameserver.network.serverpackets.ExNotifyPremiumItem; import com.l2jserver.gameserver.network.serverpackets.ExPCCafePointInfo; import com.l2jserver.gameserver.network.serverpackets.ExPledgeCount; import com.l2jserver.gameserver.network.serverpackets.ExPledgeWaitingListAlarm; +import com.l2jserver.gameserver.network.serverpackets.ExRotation; import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage; import com.l2jserver.gameserver.network.serverpackets.ExShowUsm; import com.l2jserver.gameserver.network.serverpackets.ExStorageMaxCount; @@ -372,7 +374,7 @@ public class EnterWorld extends L2GameClientPacket activeChar.broadcastUserInfo(); // Send SubClass Info - activeChar.sendPacket(new ExSubjobInfo(activeChar)); + activeChar.sendPacket(new ExSubjobInfo(activeChar, SubclassInfoType.NO_CHANGES)); // Send Inventory Info activeChar.sendPacket(new ExUserInfoInvenWeight(activeChar)); @@ -419,6 +421,7 @@ public class EnterWorld extends L2GameClientPacket } activeChar.spawnMe(activeChar.getX(), activeChar.getY(), activeChar.getZ()); + activeChar.sendPacket(new ExRotation(activeChar.getObjectId(), activeChar.getHeading())); activeChar.getInventory().applyItemSkills(); diff --git a/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestActionUse.java b/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestActionUse.java index c2669303b8..14e0a6efcf 100644 --- a/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestActionUse.java +++ b/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestActionUse.java @@ -29,6 +29,7 @@ import com.l2jserver.gameserver.data.sql.impl.SummonSkillsTable; import com.l2jserver.gameserver.data.xml.impl.PetDataTable; import com.l2jserver.gameserver.datatables.BotReportTable; import com.l2jserver.gameserver.datatables.SkillData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.enums.MountType; import com.l2jserver.gameserver.enums.PrivateStoreType; import com.l2jserver.gameserver.instancemanager.AirShipManager; @@ -450,7 +451,7 @@ public final class RequestActionUse extends L2GameClientPacket case 1001: // Sin Eater - Ultimate Bombastic Buster if (validateSummon(pet, true) && (pet.getId() == SIN_EATER_ID)) { - pet.broadcastPacket(new NpcSay(pet.getObjectId(), Say2.NPC_ALL, pet.getId(), NPC_STRINGS[Rnd.get(NPC_STRINGS.length)])); + pet.broadcastPacket(new NpcSay(pet.getObjectId(), ChatType.NPC_GENERAL, pet.getId(), NPC_STRINGS[Rnd.get(NPC_STRINGS.length)])); } break; case 1003: // Wind Hatchling/Strider - Wild Stun @@ -709,8 +710,7 @@ public final class RequestActionUse extends L2GameClientPacket useSkill(6684, true); break; case 1099: // All servitor attack - activeChar.getServitors().values().forEach(s -> - { + activeChar.getServitors().values().forEach(s -> { if (validateSummon(s, false)) { if (s.canAttack(_ctrlPressed)) @@ -721,8 +721,7 @@ public final class RequestActionUse extends L2GameClientPacket }); break; case 1100: // All servitor move to - activeChar.getServitors().values().forEach(s -> - { + activeChar.getServitors().values().forEach(s -> { if (validateSummon(s, false)) { if ((target != null) && (s != target) && !s.isMovementDisabled()) @@ -734,8 +733,7 @@ public final class RequestActionUse extends L2GameClientPacket }); break; case 1101: // All servitor stop - activeChar.getServitors().values().forEach(summon -> - { + activeChar.getServitors().values().forEach(summon -> { if (validateSummon(summon, false)) { summon.cancelAction(); @@ -744,7 +742,8 @@ public final class RequestActionUse extends L2GameClientPacket break; case 1102: // Unsummon all servitors boolean canUnsummon = true; - OUT: for (L2Summon s : activeChar.getServitors().values()) + OUT: + for (L2Summon s : activeChar.getServitors().values()) { if (validateSummon(s, false)) { @@ -759,8 +758,7 @@ public final class RequestActionUse extends L2GameClientPacket } if (canUnsummon) { - activeChar.getServitors().values().stream().forEach(s -> - { + activeChar.getServitors().values().stream().forEach(s -> { s.unSummon(activeChar); }); } @@ -1117,8 +1115,7 @@ public final class RequestActionUse extends L2GameClientPacket return; } - activeChar.getServitors().values().forEach(servitor -> - { + activeChar.getServitors().values().forEach(servitor -> { if (!validateSummon(servitor, false)) { return; diff --git a/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestPetitionCancel.java b/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestPetitionCancel.java index bbdd6ec1b0..7cfe2edb51 100644 --- a/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestPetitionCancel.java +++ b/trunk/java/com/l2jserver/gameserver/network/clientpackets/RequestPetitionCancel.java @@ -20,6 +20,7 @@ package com.l2jserver.gameserver.network.clientpackets; import com.l2jserver.Config; import com.l2jserver.gameserver.data.xml.impl.AdminData; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.PetitionManager; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; @@ -81,7 +82,7 @@ public final class RequestPetitionCancel extends L2GameClientPacket // Notify all GMs that the player's pending petition has been cancelled. String msgContent = activeChar.getName() + " has canceled a pending petition."; - AdminData.getInstance().broadcastToGMs(new CreatureSay(activeChar.getObjectId(), Say2.HERO_VOICE, "Petition System", msgContent)); + AdminData.getInstance().broadcastToGMs(new CreatureSay(activeChar.getObjectId(), ChatType.HERO_VOICE, "Petition System", msgContent)); } else { diff --git a/trunk/java/com/l2jserver/gameserver/network/clientpackets/Say2.java b/trunk/java/com/l2jserver/gameserver/network/clientpackets/Say2.java index e8f21d625a..a06b363d6d 100644 --- a/trunk/java/com/l2jserver/gameserver/network/clientpackets/Say2.java +++ b/trunk/java/com/l2jserver/gameserver/network/clientpackets/Say2.java @@ -23,6 +23,7 @@ import java.util.logging.LogRecord; import java.util.logging.Logger; import com.l2jserver.Config; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.handler.ChatHandler; import com.l2jserver.gameserver.handler.IChatHandler; import com.l2jserver.gameserver.model.L2Object; @@ -46,63 +47,6 @@ public final class Say2 extends L2GameClientPacket private static final String _C__49_SAY2 = "[C] 49 Say2"; private static Logger _logChat = Logger.getLogger("chat"); - public static final int ALL = 0; - public static final int SHOUT = 1; // ! - public static final int TELL = 2; - public static final int PARTY = 3; // # - public static final int CLAN = 4; // @ - public static final int GM = 5; - public static final int PETITION_PLAYER = 6; // used for petition - public static final int PETITION_GM = 7; // * used for petition - public static final int TRADE = 8; // + - public static final int ALLIANCE = 9; // $ - public static final int ANNOUNCEMENT = 10; - public static final int BOAT = 11; - public static final int L2FRIEND = 12; - public static final int MSNCHAT = 13; - public static final int PARTYMATCH_ROOM = 14; - public static final int PARTYROOM_COMMANDER = 15; // (Yellow) - public static final int PARTYROOM_ALL = 16; // (Red) - public static final int HERO_VOICE = 17; - public static final int CRITICAL_ANNOUNCE = 18; - public static final int SCREEN_ANNOUNCE = 19; - public static final int BATTLEFIELD = 20; - public static final int MPCC_ROOM = 21; - public static final int NPC_ALL = 22; - public static final int NPC_SHOUT = 23; - public static final int NPC_TELL = 24; - public static final int GLOBAL = 25; - - private static final String[] CHAT_NAMES = - { - "ALL", - "SHOUT", - "TELL", - "PARTY", - "CLAN", - "GM", - "PETITION_PLAYER", - "PETITION_GM", - "TRADE", - "ALLIANCE", - "ANNOUNCEMENT", // 10 - "BOAT", - "L2FRIEND", - "MSNCHAT", - "PARTYMATCH_ROOM", - "PARTYROOM_COMMANDER", - "PARTYROOM_ALL", - "HERO_VOICE", - "CRITICAL_ANNOUNCE", - "SCREEN_ANNOUNCE", - "BATTLEFIELD", - "MPCC_ROOM", - "NPC_ALL", - "NPC_SHOUT", - "NEW_TELL", - "GLOBAL" - }; - private static final String[] WALKER_COMMAND_LIST = { "USESKILL", @@ -151,7 +95,7 @@ public final class Say2 extends L2GameClientPacket { _text = readS(); _type = readD(); - _target = (_type == TELL) ? readS() : null; + _target = (_type == ChatType.TELL.getClientId()) ? readS() : null; } @Override @@ -162,13 +106,14 @@ public final class Say2 extends L2GameClientPacket _log.info("Say2: Msg Type = '" + _type + "' Text = '" + _text + "'."); } - L2PcInstance activeChar = getClient().getActiveChar(); + final L2PcInstance activeChar = getClient().getActiveChar(); if (activeChar == null) { return; } - if ((_type < 0) || (_type >= CHAT_NAMES.length)) + ChatType chatType = ChatType.findByClientId(_type); + if (chatType == null) { _log.warning("Say2: Invalid type: " + _type + " Player : " + activeChar.getName() + " text: " + String.valueOf(_text)); activeChar.sendPacket(ActionFailed.STATIC_PACKET); @@ -193,13 +138,13 @@ public final class Say2 extends L2GameClientPacket return; } - if (Config.L2WALKER_PROTECTION && (_type == TELL) && checkBot(_text)) + if (Config.L2WALKER_PROTECTION && (chatType == ChatType.TELL) && checkBot(_text)) { Util.handleIllegalPlayerAction(activeChar, "Client Emulator Detect: Player " + activeChar.getName() + " using l2walker.", Config.DEFAULT_PUNISH); return; } - if (activeChar.isCursedWeaponEquipped() && ((_type == TRADE) || (_type == SHOUT))) + if (activeChar.isCursedWeaponEquipped() && ((chatType == ChatType.TRADE) || (chatType == ChatType.SHOUT))) { activeChar.sendPacket(SystemMessageId.SHOUT_AND_TRADE_CHATTING_CANNOT_BE_USED_WHILE_POSSESSING_A_CURSED_WEAPON); return; @@ -213,12 +158,9 @@ public final class Say2 extends L2GameClientPacket } else { - for (int chatId : Config.BAN_CHAT_CHANNELS) + if (Config.BAN_CHAT_CHANNELS.contains(chatType)) { - if (_type == chatId) - { - activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); - } + activeChar.sendPacket(SystemMessageId.CHATTING_IS_CURRENTLY_PROHIBITED_IF_YOU_TRY_TO_CHAT_BEFORE_THE_PROHIBITION_IS_REMOVED_THE_PROHIBITION_TIME_WILL_INCREASE_EVEN_FURTHER); } } return; @@ -226,28 +168,28 @@ public final class Say2 extends L2GameClientPacket if (activeChar.isJailed() && Config.JAIL_DISABLE_CHAT) { - if ((_type == TELL) || (_type == SHOUT) || (_type == TRADE) || (_type == HERO_VOICE)) + if ((chatType == ChatType.TELL) || (chatType == ChatType.SHOUT) || (chatType == ChatType.TRADE) || (chatType == ChatType.HERO_VOICE)) { activeChar.sendMessage("You can not chat with players outside of the jail."); return; } } - if ((_type == PETITION_PLAYER) && activeChar.isGM()) + if ((chatType == ChatType.PETITION_PLAYER) && activeChar.isGM()) { - _type = PETITION_GM; + chatType = ChatType.PETITION_GM; } if (Config.LOG_CHAT) { - LogRecord record = new LogRecord(Level.INFO, _text); + final LogRecord record = new LogRecord(Level.INFO, _text); record.setLoggerName("chat"); - if (_type == TELL) + if (chatType == ChatType.TELL) { record.setParameters(new Object[] { - CHAT_NAMES[_type], + chatType.name(), "[" + activeChar.getName() + " to " + _target + "]" }); } @@ -255,7 +197,7 @@ public final class Say2 extends L2GameClientPacket { record.setParameters(new Object[] { - CHAT_NAMES[_type], + chatType.name(), "[" + activeChar.getName() + "]" }); } @@ -271,7 +213,7 @@ public final class Say2 extends L2GameClientPacket } } - final ChatFilterReturn filter = EventDispatcher.getInstance().notifyEvent(new OnPlayerChat(activeChar, L2World.getInstance().getPlayer(_target), _text, _type), ChatFilterReturn.class); + final ChatFilterReturn filter = EventDispatcher.getInstance().notifyEvent(new OnPlayerChat(activeChar, L2World.getInstance().getPlayer(_target), _text, chatType), ChatFilterReturn.class); if (filter != null) { _text = filter.getFilteredText(); @@ -283,10 +225,10 @@ public final class Say2 extends L2GameClientPacket checkText(); } - final IChatHandler handler = ChatHandler.getInstance().getHandler(_type); + final IChatHandler handler = ChatHandler.getInstance().getHandler(chatType); if (handler != null) { - handler.handleChat(_type, activeChar, _target, _text); + handler.handleChat(chatType, activeChar, _target, _text); } else { @@ -332,9 +274,9 @@ public final class Say2 extends L2GameClientPacket { result.append(_text.charAt(pos++)); } - int id = Integer.parseInt(result.toString()); - L2Object item = L2World.getInstance().findObject(id); - if (item instanceof L2ItemInstance) + final int id = Integer.parseInt(result.toString()); + final L2Object item = L2World.getInstance().findObject(id); + if (item.isItem()) { if (owner.getInventory().getItemByObjectId(id) == null) { diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/CreatureSay.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/CreatureSay.java index 3afc3be7b1..b8b7a7d65d 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/CreatureSay.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/CreatureSay.java @@ -21,6 +21,7 @@ package com.l2jserver.gameserver.network.serverpackets; import java.util.ArrayList; import java.util.List; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.instancemanager.MentorManager; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.NpcStringId; @@ -29,7 +30,7 @@ import com.l2jserver.gameserver.network.SystemMessageId; public final class CreatureSay extends L2GameServerPacket { private final int _objectId; - private final int _textType; + private final ChatType _textType; private String _charName = null; private int _charId = 0; private String _text = null; @@ -45,7 +46,7 @@ public final class CreatureSay extends L2GameServerPacket * @param messageType * @param text */ - public CreatureSay(L2PcInstance sender, L2PcInstance receiver, String name, int messageType, String text) + public CreatureSay(L2PcInstance sender, L2PcInstance receiver, String name, ChatType messageType, String text) { _objectId = sender.getObjectId(); _charName = name; @@ -82,7 +83,7 @@ public final class CreatureSay extends L2GameServerPacket * @param charName * @param text */ - public CreatureSay(int objectId, int messageType, String charName, String text) + public CreatureSay(int objectId, ChatType messageType, String charName, String text) { _objectId = objectId; _textType = messageType; @@ -90,7 +91,7 @@ public final class CreatureSay extends L2GameServerPacket _text = text; } - public CreatureSay(L2PcInstance player, int messageType, String text) + public CreatureSay(L2PcInstance player, ChatType messageType, String text) { _objectId = player.getObjectId(); _textType = messageType; @@ -98,7 +99,7 @@ public final class CreatureSay extends L2GameServerPacket _text = text; } - public CreatureSay(int objectId, int messageType, int charId, NpcStringId npcString) + public CreatureSay(int objectId, ChatType messageType, int charId, NpcStringId npcString) { _objectId = objectId; _textType = messageType; @@ -106,7 +107,7 @@ public final class CreatureSay extends L2GameServerPacket _npcString = npcString.getId(); } - public CreatureSay(int objectId, int messageType, String charName, NpcStringId npcString) + public CreatureSay(int objectId, ChatType messageType, String charName, NpcStringId npcString) { _objectId = objectId; _textType = messageType; @@ -114,7 +115,7 @@ public final class CreatureSay extends L2GameServerPacket _npcString = npcString.getId(); } - public CreatureSay(int objectId, int messageType, int charId, SystemMessageId sysString) + public CreatureSay(int objectId, ChatType messageType, int charId, SystemMessageId sysString) { _objectId = objectId; _textType = messageType; @@ -140,7 +141,7 @@ public final class CreatureSay extends L2GameServerPacket { writeC(0x4A); writeD(_objectId); - writeD(_textType); + writeD(_textType.getClientId()); if (_charName != null) { writeS(_charName); @@ -153,7 +154,7 @@ public final class CreatureSay extends L2GameServerPacket if (_text != null) { writeS(_text); - if ((_charLevel > 0) && (_textType == 2)) + if ((_charLevel > 0) && (_textType == ChatType.TELL)) { writeC(_mask); if ((_mask & 0x10) == 0) @@ -174,7 +175,7 @@ public final class CreatureSay extends L2GameServerPacket @Override public final void runImpl() { - L2PcInstance _pci = getClient().getActiveChar(); + final L2PcInstance _pci = getClient().getActiveChar(); if (_pci != null) { _pci.broadcastSnoop(_textType, _charName, _text); diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExSubjobInfo.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExSubjobInfo.java index dbcf371190..c42ebbed7c 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExSubjobInfo.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/ExSubjobInfo.java @@ -21,6 +21,7 @@ package com.l2jserver.gameserver.network.serverpackets; import java.util.ArrayList; import java.util.List; +import com.l2jserver.gameserver.enums.SubclassInfoType; import com.l2jserver.gameserver.enums.SubclassType; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.base.SubClass; @@ -31,18 +32,17 @@ import com.l2jserver.gameserver.model.base.SubClass; public class ExSubjobInfo extends L2GameServerPacket { private final int _currClassId; - private final int _currClassIndex; private final int _currRace; + private final int _type; private final List _subs; - public ExSubjobInfo(L2PcInstance player) + public ExSubjobInfo(L2PcInstance player, SubclassInfoType type) { - _subs = new ArrayList<>(); - _currClassId = player.getClassId().getId(); - _currClassIndex = player.getClassIndex(); _currRace = player.getRace().ordinal(); + _type = type.ordinal(); + _subs = new ArrayList<>(); _subs.add(0, new SubInfo(player)); for (SubClass sub : player.getSubClasses().values()) @@ -100,7 +100,7 @@ public class ExSubjobInfo extends L2GameServerPacket { writeC(0xFE); writeH(0xEA); - writeC(_currClassIndex); + writeC(_type); writeD(_currClassId); writeD(_currRace); writeD(_subs.size()); diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/NpcSay.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/NpcSay.java index 5c19ddf649..dae769435f 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/NpcSay.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/NpcSay.java @@ -21,6 +21,7 @@ package com.l2jserver.gameserver.network.serverpackets; import java.util.ArrayList; import java.util.List; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.network.NpcStringId; @@ -30,7 +31,7 @@ import com.l2jserver.gameserver.network.NpcStringId; public final class NpcSay extends L2GameServerPacket { private final int _objectId; - private final int _textType; + private final ChatType _textType; private final int _npcId; private String _text; private final int _npcString; @@ -42,7 +43,7 @@ public final class NpcSay extends L2GameServerPacket * @param npcId * @param text */ - public NpcSay(int objectId, int messageType, int npcId, String text) + public NpcSay(int objectId, ChatType messageType, int npcId, String text) { _objectId = objectId; _textType = messageType; @@ -51,7 +52,7 @@ public final class NpcSay extends L2GameServerPacket _text = text; } - public NpcSay(L2Npc npc, int messageType, String text) + public NpcSay(L2Npc npc, ChatType messageType, String text) { _objectId = npc.getObjectId(); _textType = messageType; @@ -60,7 +61,7 @@ public final class NpcSay extends L2GameServerPacket _text = text; } - public NpcSay(int objectId, int messageType, int npcId, NpcStringId npcString) + public NpcSay(int objectId, ChatType messageType, int npcId, NpcStringId npcString) { _objectId = objectId; _textType = messageType; @@ -68,7 +69,7 @@ public final class NpcSay extends L2GameServerPacket _npcString = npcString.getId(); } - public NpcSay(L2Npc npc, int messageType, NpcStringId npcString) + public NpcSay(L2Npc npc, ChatType messageType, NpcStringId npcString) { _objectId = npc.getObjectId(); _textType = messageType; @@ -119,7 +120,7 @@ public final class NpcSay extends L2GameServerPacket { writeC(0x30); writeD(_objectId); - writeD(_textType); + writeD(_textType.getClientId()); writeD(_npcId); writeD(_npcString); if (_npcString == -1) diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/RelationChanged.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/RelationChanged.java index 39da0fe443..fa2628db93 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/RelationChanged.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/RelationChanged.java @@ -85,7 +85,7 @@ public final class RelationChanged extends L2GameServerPacket { if (activeChar.isInvisible()) { - _log.severe("Cannot add invisible character to multi relation packet."); + // _log.severe("Cannot add invisible character to multi relation packet."); return; } Relation r = new Relation(); diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/Snoop.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/Snoop.java index e6eaba3e95..d7b11da039 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/Snoop.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/Snoop.java @@ -18,15 +18,17 @@ */ package com.l2jserver.gameserver.network.serverpackets; +import com.l2jserver.gameserver.enums.ChatType; + public class Snoop extends L2GameServerPacket { private final int _convoId; private final String _name; - private final int _type; + private final ChatType _type; private final String _speaker; private final String _msg; - public Snoop(int id, String name, int type, String speaker, String msg) + public Snoop(int id, String name, ChatType type, String speaker, String msg) { _convoId = id; _name = name; @@ -43,7 +45,7 @@ public class Snoop extends L2GameServerPacket writeD(_convoId); writeS(_name); writeD(0x00); // ?? - writeD(_type); + writeD(_type.getClientId()); writeS(_speaker); writeS(_msg); diff --git a/trunk/java/com/l2jserver/gameserver/network/serverpackets/UserInfo.java b/trunk/java/com/l2jserver/gameserver/network/serverpackets/UserInfo.java index 4b225b59c5..8478031402 100644 --- a/trunk/java/com/l2jserver/gameserver/network/serverpackets/UserInfo.java +++ b/trunk/java/com/l2jserver/gameserver/network/serverpackets/UserInfo.java @@ -243,7 +243,7 @@ public class UserInfo extends AbstractMaskPacket writeD(_activeChar.getX()); writeD(_activeChar.getY()); writeD(_activeChar.getZ()); - writeD(_activeChar.getHeading()); + writeD(_activeChar.isInVehicle() ? _activeChar.getVehicle().getObjectId() : 0); } if (containsMask(UserInfoType.SPEED)) diff --git a/trunk/java/com/l2jserver/gameserver/util/Broadcast.java b/trunk/java/com/l2jserver/gameserver/util/Broadcast.java index 271131feb3..233926d183 100644 --- a/trunk/java/com/l2jserver/gameserver/util/Broadcast.java +++ b/trunk/java/com/l2jserver/gameserver/util/Broadcast.java @@ -22,11 +22,11 @@ import java.util.Collection; import java.util.logging.Level; import java.util.logging.Logger; +import com.l2jserver.gameserver.enums.ChatType; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Summon; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.CharInfo; import com.l2jserver.gameserver.network.serverpackets.CreatureSay; import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage; @@ -212,7 +212,7 @@ public final class Broadcast public static void toAllOnlinePlayers(String text, boolean isCritical) { - toAllOnlinePlayers(new CreatureSay(0, isCritical ? Say2.CRITICAL_ANNOUNCE : Say2.ANNOUNCEMENT, "", text)); + toAllOnlinePlayers(new CreatureSay(0, isCritical ? ChatType.CRITICAL_ANNOUNCE : ChatType.ANNOUNCEMENT, "", text)); } public static void toPlayersInInstance(L2GameServerPacket packet, int instanceId)