From b70c11fbfe534a0fcb38f6d8c925b88d83e571e1 Mon Sep 17 00:00:00 2001
From: Sdw- <jeremy.garreau.pro@gmail.com>
Date: Tue, 2 Dec 2014 16:16:00 +0100
Subject: [PATCH] Some QuestState changes : - Update Village Master jython
 script to create a QuestState in onTalk following
 L2J/L2J_Server@ac426d90c3f02bb4f1916f1d23314c365c306907 - Updating all use
 L2PcInstance#getQuestState to use the helper from Quest when possible

---
 .../BlackMarketeerOfMammon.java               |  2 +-
 .../SubclassCertification.java                |  4 +--
 .../GrandBossTeleporters.java                 |  9 ++-----
 .../OracleTeleport/OracleTeleport.java        |  4 +--
 .../custom/NewbieCoupons/NewbieCoupons.java   |  8 ++----
 .../NpcLocationInfo/NpcLocationInfo.java      |  3 ++-
 .../data/scripts/custom/events/Race/Race.java | 27 ++++---------------
 .../CharacterBirthday/CharacterBirthday.java  |  8 ++----
 .../FreyaCelebration/FreyaCelebration.java    |  7 ++---
 .../events/GiftOfVitality/GiftOfVitality.java |  2 +-
 .../scripts/events/HeavyMedal/HeavyMedal.java |  2 +-
 .../LoveYourGatekeeper.java                   |  2 +-
 .../MasterOfEnchanting.java                   |  2 +-
 .../TheValentineEvent/TheValentineEvent.java  |  2 +-
 .../instances/SeedOfDestruction/Stage1.java   |  7 +----
 .../SeedOfInfinity/HallOfSuffering.java       |  7 ++---
 .../instances/ChambersOfDelusion/Chamber.java | 12 +++------
 .../CrystalCaverns/CrystalCaverns.java        | 10 +++----
 .../DarkCloudMansion/DarkCloudMansion.java    | 11 ++------
 .../FinalEmperialTomb/FinalEmperialTomb.java  |  7 +----
 .../NornilsGarden/NornilsGarden.java          | 17 +++---------
 .../quests/118_ToLeadAndBeLed/__init__.py     |  4 +--
 .../123_TheLeaderAndTheFollower/__init__.py   |  4 +--
 .../scripts/quests/171_ActsOfEvil/__init__.py |  4 +--
 .../quests/178_IconicTrinity/__init__.py      |  2 +-
 .../__init__.py                               |  2 +-
 .../__init__.py                               |  4 +--
 .../quests/222_TestOfDuelist/__init__.py      |  4 +--
 .../quests/227_TestOfReformer/__init__.py     |  4 +--
 .../22_TragedyInVonHellmannForest/__init__.py |  6 ++---
 .../quests/230_TestOfSummoner/__init__.py     |  6 ++---
 .../quests/233_TestOfWarspirit/__init__.py    |  2 +-
 .../quests/234_FatesWhisper/__init__.py       |  6 ++---
 .../quests/236_SeedsOfChaos/__init__.py       |  4 +--
 .../scripts/quests/23_LidiasHeart/__init__.py |  2 +-
 .../25_HidingBehindTheTruth/__init__.py       |  4 +--
 .../quests/330_AdeptOfTaste/__init__.py       |  2 +-
 .../quests/333_BlackLionHunt/__init__.py      |  2 +-
 .../quests/334_TheWishingPotion/__init__.py   |  4 +--
 .../quests/335_TheSongOfTheHunter/__init__.py |  4 +--
 .../quests/336_CoinOfMagic/__init__.py        |  2 +-
 .../337_AudienceWithTheLandDragon/__init__.py |  6 ++---
 .../340_SubjugationOfLizardmen/__init__.py    |  4 +--
 .../__init__.py                               |  2 +-
 .../quests/348_ArrogantSearch/__init__.py     |  4 +--
 .../384_WarehouseKeepersPastime/__init__.py   |  4 +--
 .../scripts/quests/419_GetAPet/__init__.py    |  2 +-
 .../quests/422_RepentYourSins/__init__.py     |  4 +--
 .../503_PursuitClanAmbition/__init__.py       |  2 +-
 .../604_DaimontheWhiteEyedPart2/__init__.py   |  4 +--
 .../quests/60_GoodWorkReward/__init__.py      |  4 +--
 .../quests/620_FourGoblets/__init__.py        |  4 +--
 .../65_CertifiedSoulBreaker/__init__.py       |  4 +--
 .../quests/663_SeductiveWhispers/__init__.py  |  2 +-
 .../scripts/quests/999_T1Tutorial/__init__.py |  8 +++---
 .../scripts/quests/AbstractSagaQuest.java     | 10 +++----
 .../Q00001_LettersOfLove.java                 |  2 +-
 .../Q00002_WhatWomenWant.java                 |  2 +-
 .../Q00003_WillTheSealBeBroken.java           |  4 +--
 .../Q00004_LongLiveThePaagrioLord.java        |  2 +-
 .../Q00005_MinersFavor.java                   |  2 +-
 .../Q00006_StepIntoTheFuture.java             |  2 +-
 .../Q00007_ATripBegins.java                   |  2 +-
 .../Q00008_AnAdventureBegins.java             |  2 +-
 .../Q00009_IntoTheCityOfHumans.java           |  2 +-
 .../Q00010_IntoTheWorld.java                  |  2 +-
 .../Q00011_SecretMeetingWithKetraOrcs.java    |  2 +-
 .../Q00012_SecretMeetingWithVarkaSilenos.java |  2 +-
 .../Q00013_ParcelDelivery.java                |  2 +-
 .../Q00014_WhereaboutsOfTheArchaeologist.java |  2 +-
 .../Q00015_SweetWhispers.java                 |  2 +-
 .../Q00016_TheComingDarkness.java             |  2 +-
 .../Q00017_LightAndDarkness.java              |  2 +-
 .../Q00018_MeetingWithTheGoldenRam.java       |  2 +-
 .../Q00019_GoToThePastureland.java            |  2 +-
 .../Q00020_BringUpWithLove.java               |  2 +-
 .../Q00021_HiddenTruth.java                   |  2 +-
 ...00024_InhabitantsOfTheForestOfTheDead.java |  4 +--
 .../Q00026_TiredOfWaiting.java                |  2 +-
 .../Q00027_ChestCaughtWithABaitOfWind.java    |  2 +-
 .../Q00028_ChestCaughtWithABaitOfIcyAir.java  |  2 +-
 .../Q00029_ChestCaughtWithABaitOfEarth.java   |  2 +-
 .../Q00030_ChestCaughtWithABaitOfFire.java    |  2 +-
 .../Q00031_SecretBuriedInTheSwamp.java        |  2 +-
 .../Q00033_MakeAPairOfDressShoes.java         |  2 +-
 .../Q00034_InSearchOfCloth.java               |  4 +--
 .../Q00035_FindGlitteringJewelry.java         |  4 +--
 .../Q00036_MakeASewingKit.java                |  4 +--
 .../Q00037_MakeFormalWear.java                |  2 +-
 .../Q00040_ASpecialOrder.java                 |  2 +-
 .../Q00042_HelpTheUncle.java                  |  4 +--
 .../Q00043_HelpTheSister.java                 |  4 +--
 .../Q00044_HelpTheSon/Q00044_HelpTheSon.java  |  4 +--
 .../Q00045_ToTalkingIsland.java               |  2 +-
 ...0046_OnceMoreInTheArmsOfTheMotherTree.java |  2 +-
 .../Q00047_IntoTheDarkElvenForest.java        |  2 +-
 .../Q00048_ToTheImmortalPlateau.java          |  2 +-
 .../Q00049_TheRoadHome.java                   |  2 +-
 .../Q00050_LanoscosSpecialBait.java           |  4 +--
 .../Q00051_OFullesSpecialBait.java            |  4 +--
 .../Q00052_WilliesSpecialBait.java            |  4 +--
 .../Q00053_LinnaeusSpecialBait.java           |  4 +--
 .../Q00073_SagaOfTheDuelist.java              |  2 +-
 .../Q00101_SwordOfSolidarity.java             |  4 +--
 .../Q00102_SeaOfSporesFever.java              |  4 +--
 .../Q00104_SpiritOfMirrors.java               |  4 +--
 .../Q00105_SkirmishWithOrcs.java              |  4 +--
 .../Q00106_ForgottenTruth.java                |  4 +--
 .../Q00108_JumbleTumbleDiamondFuss.java       |  4 +--
 .../Q00109_InSearchOfTheNest.java             |  2 +-
 .../Q00110_ToThePrimevalIsle.java             |  2 +-
 .../Q00112_WalkOfFate/Q00112_WalkOfFate.java  |  2 +-
 .../Q00113_StatusOfTheBeaconTower.java        |  2 +-
 .../Q00114_ResurrectionOfAnOldManager.java    |  4 +--
 .../Q00115_TheOtherSideOfTruth.java           |  2 +-
 .../Q00119_LastImperialPrince.java            |  2 +-
 .../Q00121_PavelTheGiant.java                 |  2 +-
 .../Q00122_OminousNews.java                   |  2 +-
 .../Q00124_MeetingTheElroki.java              |  2 +-
 .../Q00125_TheNameOfEvil1.java                |  4 +--
 .../Q00126_TheNameOfEvil2.java                |  2 +-
 .../Q00128_PailakaSongOfIceAndFire.java       |  4 +--
 .../Q00130_PathToHellbound.java               |  2 +-
 .../Q00131_BirdInACage.java                   |  2 +-
 .../Q00132_MatrasCuriosity.java               |  6 ++---
 .../Q00133_ThatsBloodyHot.java                |  2 +-
 .../Q00134_TempleMissionary.java              |  4 +--
 .../Q00135_TempleExecutor.java                |  4 +--
 .../Q00136_MoreThanMeetsTheEye.java           |  4 +--
 .../Q00137_TempleChampionPart1.java           |  4 +--
 .../Q00138_TempleChampionPart2.java           |  4 +--
 .../Q00139_ShadowFoxPart1.java                |  4 +--
 .../Q00140_ShadowFoxPart2.java                |  4 +--
 .../Q00141_ShadowFoxPart3.java                |  4 +--
 .../Q00142_FallenAngelRequestOfDawn.java      |  4 +--
 .../Q00143_FallenAngelRequestOfDusk.java      |  2 +-
 .../Q00146_TheZeroHour.java                   |  4 +--
 ...Q00147_PathtoBecominganEliteMercenary.java |  2 +-
 ...0148_PathtoBecominganExaltedMercenary.java |  2 +-
 .../Q00151_CureForFever.java                  |  4 +--
 .../Q00152_ShardsOfGolem.java                 |  4 +--
 .../Q00153_DeliverGoods.java                  |  2 +-
 .../Q00155_FindSirWindawood.java              |  2 +-
 .../Q00156_MillenniumLove.java                |  2 +-
 .../Q00157_RecoverSmuggledGoods.java          |  4 +--
 .../Q00158_SeedOfEvil/Q00158_SeedOfEvil.java  |  4 +--
 .../Q00159_ProtectTheWaterSource.java         |  4 +--
 .../Q00161_FruitOfTheMotherTree.java          |  2 +-
 .../Q00162_CurseOfTheUndergroundFortress.java |  4 +--
 .../Q00163_LegacyOfThePoet.java               |  4 +--
 .../Q00164_BloodFiend/Q00164_BloodFiend.java  |  4 +--
 .../Q00165_ShilensHunt.java                   |  4 +--
 .../Q00166_MassOfDarkness.java                |  2 +-
 .../Q00167_DwarvenKinship.java                |  2 +-
 .../Q00168_DeliverSupplies.java               |  2 +-
 .../Q00169_OffspringOfNightmares.java         |  4 +--
 .../Q00170_DangerousSeduction.java            |  4 +--
 .../Q00172_NewHorizons.java                   |  2 +-
 .../Q00173_ToTheIsleOfSouls.java              |  2 +-
 .../Q00174_SupplyCheck.java                   |  2 +-
 .../Q00176_StepsForHonor.java                 |  2 +-
 .../Q00179_IntoTheLargeCavern.java            |  2 +-
 .../Q00182_NewRecruits.java                   |  2 +-
 .../Q00183_RelicExploration.java              |  2 +-
 .../Q00186_ContractExecution.java             |  4 +--
 .../Q00187_NikolasHeart.java                  |  2 +-
 .../Q00188_SealRemoval.java                   |  2 +-
 .../Q00189_ContractCompletion.java            |  2 +-
 .../Q00190_LostDream/Q00190_LostDream.java    |  2 +-
 .../Q00191_VainConclusion.java                |  2 +-
 .../Q00235_MimirsElixir.java                  |  2 +-
 .../Q00237_WindsOfChange.java                 |  2 +-
 .../Q00238_SuccessFailureOfBusiness.java      |  6 ++---
 .../Q00239_WontYouJoinUs.java                 |  6 ++---
 .../Q00240_ImTheOnlyOneYouCanTrust.java       |  4 +--
 .../Q00241_PossessorOfAPreciousSoul1.java     |  8 +++---
 .../Q00242_PossessorOfAPreciousSoul2.java     |  4 +--
 .../Q00246_PossessorOfAPreciousSoul3.java     |  8 +++---
 .../Q00247_PossessorOfAPreciousSoul4.java     |  2 +-
 .../Q00249_PoisonedPlainsOfTheLizardmen.java  |  2 +-
 .../Q00250_WatchWhatYouEat.java               | 10 ++-----
 .../Q00251_NoSecrets/Q00251_NoSecrets.java    |  4 +--
 .../Q00254_LegendaryTales.java                |  2 +-
 .../Q00257_TheGuardIsBusy.java                |  4 +--
 .../Q00258_BringWolfPelts.java                |  4 +--
 .../Q00259_RequestFromTheFarmOwner.java       |  4 +--
 .../Q00260_OrcHunting/Q00260_OrcHunting.java  |  4 +--
 .../Q00261_CollectorsDream.java               |  4 +--
 .../Q00262_TradeWithTheIvoryTower.java        |  4 +--
 .../Q00263_OrcSubjugation.java                |  4 +--
 .../Q00264_KeenClaws/Q00264_KeenClaws.java    |  4 +--
 .../Q00265_BondsOfSlavery.java                |  4 +--
 .../Q00266_PleasOfPixies.java                 |  4 +--
 .../Q00267_WrathOfVerdure.java                |  4 +--
 .../Q00268_TracesOfEvil.java                  |  4 +--
 .../Q00269_InventionAmbition.java             |  4 +--
 .../Q00270_TheOneWhoEndsSilence.java          |  2 +-
 .../Q00271_ProofOfValor.java                  |  4 +--
 .../Q00272_WrathOfAncestors.java              |  4 +--
 .../Q00273_InvadersOfTheHolyLand.java         |  4 +--
 .../Q00274_SkirmishWithTheWerewolves.java     |  4 +--
 .../Q00275_DarkWingedSpies.java               |  4 +--
 .../Q00276_TotemOfTheHestui.java              |  4 +--
 .../Q00277_GatekeepersOffering.java           |  4 +--
 .../Q00278_HomeSecurity.java                  |  2 +-
 .../Q00279_TargetOfOpportunity.java           |  4 +--
 .../Q00280_TheFoodChain.java                  |  4 +--
 .../Q00281_HeadForTheHills.java               |  4 +--
 .../Q00283_TheFewTheProudTheBrave.java        |  2 +-
 .../Q00287_FiguringItOut.java                 |  4 +--
 .../Q00288_HandleWithCare.java                |  4 +--
 .../Q00289_NoMoreSoupForYou.java              |  4 +--
 .../Q00290_ThreatRemoval.java                 |  4 +--
 .../Q00293_TheHiddenVeins.java                |  4 +--
 .../Q00297_GatekeepersFavor.java              |  4 +--
 .../Q00300_HuntingLetoLizardman.java          |  4 +--
 .../Q00303_CollectArrowheads.java             |  4 +--
 .../Q00306_CrystalOfFireAndIce.java           |  4 +--
 .../Q00307_ControlDeviceOfTheGiants.java      |  6 ++---
 .../Q00308_ReedFieldMaintenance.java          |  4 +--
 .../Q00309_ForAGoodCause.java                 |  4 +--
 .../Q00310_OnlyWhatRemains.java               |  4 +--
 .../Q00312_TakeAdvantageOfTheCrisis.java      |  4 +--
 .../Q00313_CollectSpores.java                 |  4 +--
 .../Q00319_ScentOfDeath.java                  |  4 +--
 .../Q00320_BonesTellTheFuture.java            |  2 +-
 .../Q00324_SweetestVenom.java                 |  4 +--
 .../Q00325_GrimCollector.java                 |  4 +--
 .../Q00326_VanquishRemnants.java              |  4 +--
 .../Q00328_SenseForBusiness.java              |  4 +--
 .../Q00329_CuriosityOfADwarf.java             |  4 +--
 .../Q00331_ArrowOfVengeance.java              |  4 +--
 .../Q00338_AlligatorHunter.java               |  4 +--
 .../Q00341_HuntingForWildBeasts.java          |  6 ++---
 .../Q00350_EnhanceYourWeapon.java             |  2 +-
 .../Q00354_ConquestOfAlligatorIsland.java     |  2 +-
 .../Q00360_PlunderTheirSupplies.java          |  4 +--
 .../Q00366_SilverHairedShaman.java            |  2 +-
 .../Q00367_ElectrifyingRecharge.java          |  4 +--
 .../Q00368_TrespassingIntoTheHolyGround.java  |  2 +-
 .../Q00369_CollectorOfJewels.java             |  4 +--
 .../Q00370_AnElderSowsSeeds.java              |  2 +-
 .../Q00406_PathOfTheElvenKnight.java          |  2 +-
 .../Q00420_LittleWing/Q00420_LittleWing.java  |  2 +-
 .../Q00421_LittleWingsBigAdventure.java       |  2 +-
 .../Q00423_TakeYourBestShot.java              |  4 +--
 .../Q00431_WeddingMarch.java                  |  4 +--
 .../Q00432_BirthdayPartySong.java             |  4 +--
 .../Q00450_GraveRobberRescue.java             |  2 +-
 .../Q00451_LuciensAltar.java                  |  2 +-
 .../Q00452_FindingtheLostSoldiers.java        |  2 +-
 .../Q00453_NotStrongEnoughAlone.java          |  4 +--
 .../Q00455_WingsOfSand.java                   |  4 +--
 .../Q00456_DontKnowDontCare.java              |  6 ++---
 .../Q00457_LostAndFound.java                  |  2 +-
 .../Q00458_PerfectForm.java                   |  4 +--
 .../Q00461_RumbleInTheBase.java               |  6 ++---
 .../Q00463_IMustBeaGenius.java                |  4 +--
 .../quests/Q00464_Oath/Q00464_Oath.java       |  2 +-
 ...504_CompetitionForTheBanditStronghold.java |  4 +--
 .../Q00508_AClansReputation.java              |  2 +-
 .../Q00509_AClansFame/Q00509_AClansFame.java  |  2 +-
 .../Q00510_AClansPrestige.java                |  6 ++---
 .../Q00511_AwlUnderFoot.java                  | 15 +++--------
 .../Q00551_OlympiadStarter.java               |  8 +++---
 .../Q00552_OlympiadVeteran.java               |  6 ++---
 .../Q00553_OlympiadUndefeated.java            |  6 ++---
 .../Q00601_WatchingEyes.java                  |  4 +--
 .../Q00602_ShadowOfLight.java                 |  4 +--
 .../Q00605_AllianceWithKetraOrcs.java         |  4 +--
 .../Q00606_BattleAgainstVarkaSilenos.java     |  4 +--
 .../Q00607_ProveYourCourageKetra.java         |  4 +--
 .../Q00608_SlayTheEnemyCommanderKetra.java    |  4 +--
 .../Q00609_MagicalPowerOfWaterPart1.java      |  4 +--
 .../Q00610_MagicalPowerOfWaterPart2.java      |  4 +--
 .../Q00611_AllianceWithVarkaSilenos.java      |  4 +--
 .../Q00612_BattleAgainstKetraOrcs.java        |  4 +--
 .../Q00613_ProveYourCourageVarka.java         |  4 +--
 .../Q00614_SlayTheEnemyCommanderVarka.java    |  4 +--
 .../Q00615_MagicalPowerOfFirePart1.java       |  4 +--
 .../Q00616_MagicalPowerOfFirePart2.java       |  4 +--
 .../Q00617_GatherTheFlames.java               |  4 +--
 .../Q00618_IntoTheFlame.java                  |  4 +--
 .../Q00619_RelicsOfTheOldEmpire.java          |  2 +-
 .../Q00624_TheFinestIngredientsPart1.java     |  4 +--
 .../Q00626_ADarkTwilight.java                 |  4 +--
 .../Q00627_HeartInSearchOfPower.java          |  4 +--
 .../Q00631_DeliciousTopChoiceMeat.java        |  2 +-
 .../Q00636_TruthBeyond.java                   |  2 +-
 .../Q00637_ThroughOnceMore.java               |  4 +--
 .../Q00641_AttackSailren.java                 |  4 +--
 .../Q00643_RiseAndFallOfTheElrokiTribe.java   |  4 +--
 .../Q00644_GraveRobberAnnihilation.java       |  2 +-
 .../Q00645_GhostsOfBatur.java                 |  4 +--
 .../Q00647_InfluxOfMachines.java              |  4 +--
 .../Q00649_ALooterAndARailroadMan.java        |  4 +--
 .../Q00650_ABrokenDream.java                  | 10 ++++---
 .../Q00651_RunawayYouth.java                  |  2 +-
 .../Q00652_AnAgedExAdventurer.java            |  2 +-
 .../Q00653_WildMaiden/Q00653_WildMaiden.java  |  2 +-
 ...00659_IdRatherBeCollectingFairyBreath.java |  2 +-
 .../Q00662_AGameOfCards.java                  |  6 ++---
 .../Q00688_DefeatTheElrokianRaiders.java      |  4 +--
 .../Q00690_JudesRequest.java                  |  4 +--
 .../Q00691_MatrasSuspiciousRequest.java       |  4 +--
 .../Q00692_HowtoOpposeEvil.java               |  4 +--
 .../Q00699_GuardianOfTheSkies.java            |  4 +--
 .../Q00700_CursedLife/Q00700_CursedLife.java  |  4 +--
 .../Q00701_ProofOfExistence.java              |  4 +--
 .../Q00702_ATrapForRevenge.java               |  4 +--
 .../Q00901_HowLavasaurusesAreMade.java        |  4 +--
 .../Q00902_ReclaimOurEra.java                 |  4 +--
 .../Q00903_TheCallOfAntharas.java             |  4 +--
 .../Q00904_DragonTrophyAntharas.java          |  2 +-
 .../Q00905_RefinedDragonBlood.java            |  4 +--
 .../Q00906_TheCallOfValakas.java              |  4 +--
 .../Q00907_DragonTrophyValakas.java           |  4 +--
 .../Q00998_FallenAngelSelect.java             |  2 +-
 .../Q10267_JourneyToGracia.java               |  2 +-
 .../Q10268_ToTheSeedOfInfinity.java           |  2 +-
 .../Q10269_ToTheSeedOfDestruction.java        |  2 +-
 .../Q10271_TheEnvelopingDarkness.java         |  2 +-
 .../Q10272_LightFragment.java                 |  4 +--
 .../Q10273_GoodDayToFly.java                  |  4 +--
 .../Q10274_CollectingInTheAir.java            |  4 +--
 .../Q10275_ContainingTheAttributePower.java   |  4 +--
 .../Q10276_MutatedKaneusGludio.java           |  6 ++---
 .../Q10277_MutatedKaneusDion.java             |  6 ++---
 .../Q10278_MutatedKaneusHeine.java            |  6 ++---
 .../Q10279_MutatedKaneusOren.java             |  6 ++---
 .../Q10280_MutatedKaneusSchuttgart.java       |  6 ++---
 .../Q10281_MutatedKaneusRune.java             |  6 ++---
 .../Q10282_ToTheSeedOfAnnihilation.java       |  2 +-
 .../Q10283_RequestOfIceMerchant.java          |  4 +--
 .../Q10288_SecretMission.java                 |  4 +--
 .../Q10290_LandDragonConqueror.java           |  2 +-
 .../Q10291_FireDragonDestroyer.java           |  4 +--
 .../Q10501_ZakenEmbroideredSoulCloak.java     |  4 +--
 .../Q10502_FreyaEmbroideredSoulCloak.java     |  4 +--
 .../Q10503_FrintezzaEmbroideredSoulCloak.java |  4 +--
 .../Q10504_JewelOfAntharas.java               |  2 +-
 .../Q10505_JewelOfValakas.java                |  4 +--
 .../TerritoryWarSuperClass.java               |  2 +-
 .../DarkElvenChange1/DarkElvenChange1.java    |  8 ++----
 .../DarkElvenChange2/DarkElvenChange2.java    |  9 +++----
 .../dwarven_occupation_change/__init__.py     |  4 +--
 .../elven_human_buffers_2/__init__.py         |  4 +--
 .../elven_human_fighters_1/__init__.py        |  4 +--
 .../elven_human_fighters_2/__init__.py        |  4 +--
 .../elven_human_mystics_1/__init__.py         |  4 +--
 .../elven_human_mystics_2/__init__.py         |  4 +--
 .../orc_occupation_change_1/__init__.py       |  4 +--
 .../orc_occupation_change_2/__init__.py       |  4 +--
 353 files changed, 619 insertions(+), 712 deletions(-)

diff --git a/L2J_DataPack/dist/game/data/scripts/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java b/L2J_DataPack/dist/game/data/scripts/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java
index ded1a09d01..afa5dbc5d3 100644
--- a/L2J_DataPack/dist/game/data/scripts/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java
+++ b/L2J_DataPack/dist/game/data/scripts/ai/npc/BlackMarketeerOfMammon/BlackMarketeerOfMammon.java
@@ -57,7 +57,7 @@ public final class BlackMarketeerOfMammon extends AbstractNpcAI
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState qs = player.getQuestState(getName());
+		final QuestState qs = getQuestState(player, false);
 		if ("exchange".equals(event))
 		{
 			if (exchangeAvailable())
diff --git a/L2J_DataPack/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java b/L2J_DataPack/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java
index 80fee7d367..fcf26c2ad6 100644
--- a/L2J_DataPack/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java
+++ b/L2J_DataPack/dist/game/data/scripts/ai/npc/SubclassCertification/SubclassCertification.java
@@ -173,7 +173,7 @@ public final class SubclassCertification extends AbstractNpcAI
 	@Override
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, true);
 		String htmltext = getNoQuestMsg(player);
 		if (st != null)
 		{
@@ -187,7 +187,7 @@ public final class SubclassCertification extends AbstractNpcAI
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = null;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java b/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
index 59511304c6..0b67f80b6c 100644
--- a/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
+++ b/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/GrandBossTeleporters/GrandBossTeleporters.java
@@ -69,12 +69,7 @@ public final class GrandBossTeleporters extends AbstractNpcAI
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = "";
-		QuestState st = player.getQuestState(getName());
-		
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		QuestState st = getQuestState(player, false);
 		
 		if (st.hasQuestItems(VACUALITE_FLOATING_STONE))
 		{
@@ -92,7 +87,7 @@ public final class GrandBossTeleporters extends AbstractNpcAI
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = "";
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, true);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java b/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java
index c5ff4c4efc..43cc696de6 100644
--- a/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java
+++ b/L2J_DataPack/dist/game/data/scripts/ai/npc/Teleports/OracleTeleport/OracleTeleport.java
@@ -158,7 +158,7 @@ public final class OracleTeleport extends AbstractNpcAI
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = "";
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		int npcId = npc.getId();
 		if (event.equalsIgnoreCase("Return"))
@@ -273,7 +273,7 @@ public final class OracleTeleport extends AbstractNpcAI
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = "";
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, true);
 		
 		int npcId = npc.getId();
 		if (Util.contains(TOWN_DAWN, npcId))
diff --git a/L2J_DataPack/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java b/L2J_DataPack/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java
index a3814232fd..f803758356 100644
--- a/L2J_DataPack/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java
+++ b/L2J_DataPack/dist/game/data/scripts/custom/NewbieCoupons/NewbieCoupons.java
@@ -79,7 +79,7 @@ public final class NewbieCoupons extends Quest
 			return htmltext;
 		}
 		
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		int newbie = player.getNewbie();
 		int level = player.getLevel();
 		int occupation_level = player.getClassId().level();
@@ -154,11 +154,7 @@ public final class NewbieCoupons extends Quest
 	@Override
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
 		
 		return "30598.htm";
 	}
diff --git a/L2J_DataPack/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java b/L2J_DataPack/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java
index 1bc1fa4717..dec87af412 100644
--- a/L2J_DataPack/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java
+++ b/L2J_DataPack/dist/game/data/scripts/custom/NpcLocationInfo/NpcLocationInfo.java
@@ -273,7 +273,7 @@ public final class NpcLocationInfo extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -308,6 +308,7 @@ public final class NpcLocationInfo extends Quest
 	{
 		String htmltext = getNoQuestMsg(player);
 		int npcId = npc.getId();
+		getQuestState(player, true);
 		
 		if (Util.contains(NPC, npcId))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/custom/events/Race/Race.java b/L2J_DataPack/dist/game/data/scripts/custom/events/Race/Race.java
index 652748304e..bb57ab1ddc 100644
--- a/L2J_DataPack/dist/game/data/scripts/custom/events/Race/Race.java
+++ b/L2J_DataPack/dist/game/data/scripts/custom/events/Race/Race.java
@@ -140,14 +140,7 @@ public final class Race extends Event
 		Announcements.getInstance().announceToAll("Visit Event Manager in Dion village and signup, you have " + _time_register + " min before Race Start...");
 		
 		// Schedule Event end
-		_eventTask = ThreadPoolManager.getInstance().scheduleGeneral(new Runnable()
-		{
-			@Override
-			public void run()
-			{
-				StartRace();
-			}
-		}, _time_register * 60 * 1000);
+		_eventTask = ThreadPoolManager.getInstance().scheduleGeneral(() -> StartRace(), _time_register * 60 * 1000);
 		
 		return true;
 		
@@ -190,14 +183,7 @@ public final class Race extends Event
 			}
 		}
 		// Schedule timeup for Race
-		_eventTask = ThreadPoolManager.getInstance().scheduleGeneral(new Runnable()
-		{
-			@Override
-			public void run()
-			{
-				timeUp();
-			}
-		}, _time_race * 60 * 1000);
+		_eventTask = ThreadPoolManager.getInstance().scheduleGeneral(() -> timeUp(), _time_race * 60 * 1000);
 	}
 	
 	@Override
@@ -290,7 +276,7 @@ public final class Race extends Event
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -344,11 +330,8 @@ public final class Race extends Event
 	@Override
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
+		
 		if (npc.getId() == _start_npc)
 		{
 			if (_isRaceStarted)
diff --git a/L2J_DataPack/dist/game/data/scripts/events/CharacterBirthday/CharacterBirthday.java b/L2J_DataPack/dist/game/data/scripts/events/CharacterBirthday/CharacterBirthday.java
index 30e020741f..2fb9e2f54a 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/CharacterBirthday/CharacterBirthday.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/CharacterBirthday/CharacterBirthday.java
@@ -71,7 +71,7 @@ public final class CharacterBirthday extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (event.equalsIgnoreCase("despawn_npc"))
 		{
@@ -108,11 +108,7 @@ public final class CharacterBirthday extends Quest
 			return "busy.htm";
 		}
 		
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		QuestState st = getQuestState(player, true);
 		
 		if (!Util.checkIfInRange(10, npc, player, true))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java b/L2J_DataPack/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java
index b860148fb3..85c1d199d1 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/FreyaCelebration/FreyaCelebration.java
@@ -79,7 +79,7 @@ public final class FreyaCelebration extends LongTimeEvent
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -156,10 +156,7 @@ public final class FreyaCelebration extends LongTimeEvent
 	@Override
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		if (player.getQuestState(getName()) == null)
-		{
-			newQuestState(player);
-		}
+		getQuestState(player, true);
 		return "13296.htm";
 	}
 	
diff --git a/L2J_DataPack/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java b/L2J_DataPack/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java
index f4ab9b43b0..76f26ae15b 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/GiftOfVitality/GiftOfVitality.java
@@ -92,7 +92,7 @@ public final class GiftOfVitality extends LongTimeEvent
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		switch (event)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java b/L2J_DataPack/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java
index 2dcf6489e0..d7fa7fa47c 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/HeavyMedal/HeavyMedal.java
@@ -65,7 +65,7 @@ public final class HeavyMedal extends LongTimeEvent
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/events/LoveYourGatekeeper/LoveYourGatekeeper.java b/L2J_DataPack/dist/game/data/scripts/events/LoveYourGatekeeper/LoveYourGatekeeper.java
index 35c8f12c7e..fed925de69 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/LoveYourGatekeeper/LoveYourGatekeeper.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/LoveYourGatekeeper/LoveYourGatekeeper.java
@@ -55,7 +55,7 @@ public final class LoveYourGatekeeper extends LongTimeEvent
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java b/L2J_DataPack/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java
index 6e6d1a0ab2..5a65a3fd11 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/MasterOfEnchanting/MasterOfEnchanting.java
@@ -80,7 +80,7 @@ public final class MasterOfEnchanting extends LongTimeEvent
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (event.equalsIgnoreCase("buy_staff"))
 		{
 			if (!st.hasQuestItems(MASTER_YOGI_STAFF) && (st.getQuestItemsCount(Inventory.ADENA_ID) > STAFF_PRICE))
diff --git a/L2J_DataPack/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java b/L2J_DataPack/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java
index 7d2adbf0a1..358eca0dcc 100644
--- a/L2J_DataPack/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java
+++ b/L2J_DataPack/dist/game/data/scripts/events/TheValentineEvent/TheValentineEvent.java
@@ -47,7 +47,7 @@ public final class TheValentineEvent extends LongTimeEvent
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfDestruction/Stage1.java b/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfDestruction/Stage1.java
index ccdce5aecc..9c9f9593b9 100644
--- a/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfDestruction/Stage1.java
+++ b/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfDestruction/Stage1.java
@@ -56,7 +56,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2TrapInstance;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
 import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
 import com.l2jserver.gameserver.model.quest.Quest;
-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;
@@ -1020,11 +1019,7 @@ public final class Stage1 extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
 		if (npcId == ALENOS)
 		{
 			InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering.java b/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering.java
index 9ba5a9f412..1ed5276642 100644
--- a/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering.java
+++ b/L2J_DataPack/dist/game/data/scripts/gracia/instances/SeedOfInfinity/HallOfSuffering.java
@@ -511,10 +511,7 @@ public final class HallOfSuffering extends Quest
 			{
 				teleportPlayer(partyMember, coords, instanceId);
 				world.addAllowed(partyMember.getObjectId());
-				if (partyMember.getQuestState(getName()) == null)
-				{
-					newQuestState(partyMember);
-				}
+				getQuestState(partyMember, true);
 			}
 		}
 		return instanceId;
@@ -883,7 +880,7 @@ public final class HallOfSuffering extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			st = newQuestState(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java b/L2J_DataPack/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java
index 5bcdae9056..55a7837c47 100644
--- a/L2J_DataPack/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java
+++ b/L2J_DataPack/dist/game/data/scripts/instances/ChambersOfDelusion/Chamber.java
@@ -362,11 +362,7 @@ public abstract class Chamber extends Quest
 		
 		for (L2PcInstance partyMember : party.getMembers())
 		{
-			QuestState st = partyMember.getQuestState(getName());
-			if (st == null)
-			{
-				st = newQuestState(partyMember);
-			}
+			final QuestState st = getQuestState(partyMember, true);
 			
 			if (st.hasQuestItems(DELUSION_MARK))
 			{
@@ -449,7 +445,7 @@ public abstract class Chamber extends Quest
 		}
 		final Instance inst = InstanceManager.getInstance().getInstance(player.getInstanceId());
 		Location ret = inst.getSpawnLoc();
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st != null)
 		{
@@ -491,7 +487,7 @@ public abstract class Chamber extends Quest
 		{
 			final CDWorld world = (CDWorld) tmpworld;
 			
-			QuestState st = player.getQuestState(getName());
+			QuestState st = getQuestState(player, false);
 			
 			if (st == null)
 			{
@@ -661,7 +657,7 @@ public abstract class Chamber extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java b/L2J_DataPack/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java
index 0c94885823..06a764ff98 100644
--- a/L2J_DataPack/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java
+++ b/L2J_DataPack/dist/game/data/scripts/instances/CrystalCaverns/CrystalCaverns.java
@@ -2476,11 +2476,7 @@ public final class CrystalCaverns extends Quest
 			{
 				if (partyMember.getInstanceId() == instanceId)
 				{
-					QuestState st = partyMember.getQuestState(getName());
-					if (st == null)
-					{
-						st = newQuestState(partyMember);
-					}
+					final QuestState st = getQuestState(partyMember, true);
 					if (!isBaylor && st.hasQuestItems(CONT_CRYSTAL))
 					{
 						st.takeItems(CONT_CRYSTAL, 1);
@@ -2499,7 +2495,7 @@ public final class CrystalCaverns extends Quest
 		}
 		else if (player.getInstanceId() == instanceId)
 		{
-			QuestState st = player.getQuestState(getName());
+			QuestState st = getQuestState(player, false);
 			if (st == null)
 			{
 				st = newQuestState(player);
@@ -2758,7 +2754,7 @@ public final class CrystalCaverns extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			st = newQuestState(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java b/L2J_DataPack/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java
index ca15c36656..af3fda52bb 100644
--- a/L2J_DataPack/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java
+++ b/L2J_DataPack/dist/game/data/scripts/instances/DarkCloudMansion/DarkCloudMansion.java
@@ -561,10 +561,7 @@ public final class DarkCloudMansion extends Quest
 		{
 			for (L2PcInstance partyMember : party.getMembers())
 			{
-				if (partyMember.getQuestState(getName()) == null)
-				{
-					newQuestState(partyMember);
-				}
+				getQuestState(partyMember, true);
 				world.addAllowed(partyMember.getObjectId());
 				teleportPlayer(partyMember, loc, instanceId);
 			}
@@ -1408,11 +1405,7 @@ public final class DarkCloudMansion extends Quest
 			if ((npc.getId() == SOTruth) && (world.getStatus() == 10))
 			{
 				npc.showChatWindow(player);
-				QuestState st = player.getQuestState(getName());
-				if (st == null)
-				{
-					st = newQuestState(player);
-				}
+				QuestState st = getQuestState(player, true);
 				
 				if (!st.hasQuestItems(CC))
 				{
diff --git a/L2J_DataPack/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java b/L2J_DataPack/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java
index 5470f1b20b..a9051d38d0 100644
--- a/L2J_DataPack/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java
+++ b/L2J_DataPack/dist/game/data/scripts/instances/FinalEmperialTomb/FinalEmperialTomb.java
@@ -59,7 +59,6 @@ import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.holders.SkillHolder;
 import com.l2jserver.gameserver.model.instancezone.InstanceWorld;
 import com.l2jserver.gameserver.model.quest.Quest;
-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;
@@ -1576,11 +1575,7 @@ public final class FinalEmperialTomb extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
 		if (npcId == GUIDE)
 		{
 			enterInstance(player, "FinalEmperialTomb.xml", ENTER_TELEPORT);
diff --git a/L2J_DataPack/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java b/L2J_DataPack/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java
index 0a01d974ce..c0bf653e3e 100644
--- a/L2J_DataPack/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java
+++ b/L2J_DataPack/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java
@@ -238,11 +238,6 @@ public final class NornilsGarden extends Quest
 	@Override
 	public final void teleportPlayer(L2PcInstance player, Location loc, int instanceId)
 	{
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
 		removeBuffs(player);
 		giveBuffs(player);
 		if (player.hasSummon())
@@ -524,10 +519,8 @@ public final class NornilsGarden extends Quest
 	@Override
 	public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		player.sendMessage("On Event");
-		
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -609,11 +602,7 @@ public final class NornilsGarden extends Quest
 	@Override
 	public final String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
 		return npc.getId() + ".html";
 	}
 	
@@ -636,7 +625,7 @@ public final class NornilsGarden extends Quest
 	@Override
 	public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/118_ToLeadAndBeLed/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/118_ToLeadAndBeLed/__init__.py
index dbac4643d9..e09b8aa8aa 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/118_ToLeadAndBeLed/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/118_ToLeadAndBeLed/__init__.py
@@ -28,7 +28,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc, player) :
    htmltext = event
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    if event == "30517-02.htm" :
      st.set("cond","1")
@@ -160,7 +160,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet):
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return
     if st.getState() != State.STARTED : return
     sponsor = player.getSponsor()
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/123_TheLeaderAndTheFollower/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/123_TheLeaderAndTheFollower/__init__.py
index 9bb2982ad1..6b52fdbd62 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/123_TheLeaderAndTheFollower/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/123_TheLeaderAndTheFollower/__init__.py
@@ -26,7 +26,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc, player) :
    htmltext = event
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    if event == "31961-02.htm" :
      st.set("cond","1")
@@ -164,7 +164,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet):
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return
     if st.getState() != State.STARTED : return
     sponsor = player.getSponsor()
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/171_ActsOfEvil/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/171_ActsOfEvil/__init__.py
index 14c4d034e4..bd02072cef 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/171_ActsOfEvil/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/171_ActsOfEvil/__init__.py
@@ -31,7 +31,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc, player) :
      htmltext = event
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return
      cond = st.getInt("cond")
      if st.getState() != State.COMPLETED :
@@ -157,7 +157,7 @@ class Quest (JQuest) :
      return htmltext
 
  def onKill(self,npc,player,isPet):
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return 
      if st.getState() != State.STARTED : return 
 
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/178_IconicTrinity/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/178_IconicTrinity/__init__.py
index 045a50bd28..a37ba84256 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/178_IconicTrinity/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/178_IconicTrinity/__init__.py
@@ -22,7 +22,7 @@ class Quest (JQuest) :
  
  def onAdvEvent (self,event,npc, player) :
      htmltext = event
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return
      player = st.getPlayer()
      passwrd = st.getInt("pass")
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/__init__.py
index e678118ba9..c93fd032ec 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/184_Nikolas_Cooperation_Contract/__init__.py
@@ -31,7 +31,7 @@ class Quest (JQuest) :
         self.questItemIds = [NicolasMap,BrokenMetal,Metal]
 
     def onAdvEvent (self,event,npc, player) :
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st: return
         htmltext = event
         if event == "30621-01.htm":
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/__init__.py
index 88e6e9ae95..2cd93732ad 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/185_Nikolas_Cooperation_Consideration/__init__.py
@@ -31,7 +31,7 @@ class Quest (JQuest) :
         self.questItemIds = [NicolasMap,BrokenMetal,Metal]
 
     def onAdvEvent (self,event,npc, player) :
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st: return
         htmltext = event
         if event == "30621-01.htm":
@@ -151,7 +151,7 @@ class Quest (JQuest) :
         return htmltext
 
     def onFirstTalk (self,npc,player):
-       st = player.getQuestState(qn)
+       st = self.getQuestState(player, False)
        q2 = QuestManager.getInstance().getQuest("184_Nikolas_Cooperation_Contract")
        if st:
            player.setLastQuestNpcObject(npc.getObjectId())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/__init__.py
index 618455b27f..5c03ff9a3a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/222_TestOfDuelist/__init__.py
@@ -45,7 +45,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc, player) :
     htmltext = event
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return
     if event == "30623-07.htm" :
         if st.getInt("step")==0 :
@@ -142,7 +142,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet):
-  st = player.getQuestState(qn)
+  st = self.getQuestState(player, False)
   if not st : return 
   if st.getState() != State.STARTED : return 
    
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/__init__.py
index d76234c854..feaeee96ef 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/227_TestOfReformer/__init__.py
@@ -39,7 +39,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc, player) :
     htmltext = event
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return
     if event == "1" :
         htmltext = "30118-04.htm"
@@ -183,7 +183,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return 
    if st.getState() != State.STARTED : return 
    npcId = npc.getId()
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/22_TragedyInVonHellmannForest/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/22_TragedyInVonHellmannForest/__init__.py
index a2f5e5cf90..fb2c4fbcc5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/22_TragedyInVonHellmannForest/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/22_TragedyInVonHellmannForest/__init__.py
@@ -41,7 +41,7 @@ class Quest (JQuest) :
      self.well = 0
 
  def onAdvEvent (self,event,npc, player) :
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st: return
    htmltext = event 
    if event == "31334-02.htm" :
@@ -269,7 +269,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onAttack (self,npc,player,damage,isPet,skill):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if st :
        npcId = npc.getId()
        id = st.getInt("id")
@@ -285,7 +285,7 @@ class Quest (JQuest) :
 
  def onKill(self,npc,player,isPet):
    npcId = npc.getId()
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if st :
        if npcId == SOUL_OF_WELL :
            self.well = 0
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/230_TestOfSummoner/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/230_TestOfSummoner/__init__.py
index b17b0cc83a..88606297ad 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/230_TestOfSummoner/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/230_TestOfSummoner/__init__.py
@@ -116,7 +116,7 @@ class Quest (JQuest) :
 
    def onAdvEvent (self,event,npc, player) :
       htmltext = event
-      st = player.getQuestState(qn)
+      st = self.getQuestState(player, False)
       if not st : return
       if event == "30634-08.htm" :                    # start part for Galatea
          for var in STATS:
@@ -301,7 +301,7 @@ class Quest (JQuest) :
    # on the first attack, the stat is in battle... anytime gives crystal and set stat
    def onAttack (self, npc, player,damage,isPet,skill):
       npcId = npc.getId()
-      st = player.getQuestState(qn)
+      st = self.getQuestState(player, False)
       if npcId in DROPLIST_SUMMON.keys() :
          var,start,progress,foul,defeat,victory = DROPLIST_SUMMON[npcId]
          # check if this npc has been attacked before
@@ -330,7 +330,7 @@ class Quest (JQuest) :
 
    def onKill(self,npc,player,isPet):
       npcId = npc.getId() 
-      st = player.getQuestState(qn)
+      st = self.getQuestState(player, False)
       # this part is just for laras parts.  It is only available to players who are doing the quest
       if npcId in DROPLIST_LARA.keys() :
          if not st : return
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/233_TestOfWarspirit/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/233_TestOfWarspirit/__init__.py
index 512d711c29..405bd3ff05 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/233_TestOfWarspirit/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/233_TestOfWarspirit/__init__.py
@@ -318,7 +318,7 @@ class Quest (JQuest) :
     return htmltext    
         
   def onKill(self,npc,player,isPet):
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return 
     npcId=npc.getId()
 
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/234_FatesWhisper/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/234_FatesWhisper/__init__.py
index 242d73e932..ea1b5b6cca 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/234_FatesWhisper/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/234_FatesWhisper/__init__.py
@@ -70,7 +70,7 @@ class Quest (JQuest) :
 
   def onAdvEvent (self,event,npc, player) :
     htmltext = event
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return
     #accept quest
     if event == "1" :
@@ -288,7 +288,7 @@ class Quest (JQuest) :
     return htmltext
 
   def onAttack (self, npc, player, damage, isPet, skill):
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return 
     if st.getState() != State.STARTED : return 
     if isPet : return
@@ -325,7 +325,7 @@ class Quest (JQuest) :
         if stw.getQuestItemsCount(dropId) >= 30:
           stw.set("cond","9")
       else:
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st : return
         if st.getState() != State.STARTED : return
         if npcId in DROPLIST.keys() :
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/236_SeedsOfChaos/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/236_SeedsOfChaos/__init__.py
index 744c45d401..1ca6d642e0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/236_SeedsOfChaos/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/236_SeedsOfChaos/__init__.py
@@ -69,7 +69,7 @@ class Quest (JQuest) :
     self.questItemId = [BLACK_ECHO_CRYSTAL, SHINING_MEDALLION]
  
  def onAdvEvent (self,event,npc, player) :
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return
     if event == "1" : #Go talk to the wizard!
         st.setState(State.STARTED)
@@ -230,7 +230,7 @@ class Quest (JQuest) :
     return htmltext
  
  def onKill(self,npc,player,isPet):
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return 
     if st.getState() != State.STARTED : return 
     #The following algorithm should work for both quest mobs and drops for this quest.... hopefully.
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/23_LidiasHeart/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/23_LidiasHeart/__init__.py
index a7ff84e530..2b0a5eb230 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/23_LidiasHeart/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/23_LidiasHeart/__init__.py
@@ -32,7 +32,7 @@ class Quest (JQuest) :
        self.questItemIds = [MapForestofDeadman,SilverKey,LidiaHairPin,LidiaDiary,SilverSpear] 
 
     def onAdvEvent (self,event,npc,player) :
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         htmltext = event
         if event == "31328-02.htm": # call 31328-03.htm
             st.giveItems(MapForestofDeadman,1)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/25_HidingBehindTheTruth/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/25_HidingBehindTheTruth/__init__.py
index f5618d700f..272b094435 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/25_HidingBehindTheTruth/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/25_HidingBehindTheTruth/__init__.py
@@ -39,7 +39,7 @@ class Quest (JQuest) :
 
 
     def onAdvEvent (self,event,npc, player) :
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st: return
         htmltext = event
         if event == "31349-02.htm" :
@@ -228,7 +228,7 @@ class Quest (JQuest) :
         return htmltext
 
     def onKill(self,npc,player,isPet):
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st : return
         if st.getState() != State.STARTED : return
         if st.getInt("cond") == 7:
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/330_AdeptOfTaste/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/330_AdeptOfTaste/__init__.py
index b240153bfb..d2dc52b8cf 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/330_AdeptOfTaste/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/330_AdeptOfTaste/__init__.py
@@ -296,7 +296,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return 
    if st.getState() != State.STARTED : return 
    
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/333_BlackLionHunt/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/333_BlackLionHunt/__init__.py
index e97a61c00f..4288841dd0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/333_BlackLionHunt/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/333_BlackLionHunt/__init__.py
@@ -553,7 +553,7 @@ class Quest (JQuest) :
           return m_no_box
           
   def onKill(self,npc,player,isPet):
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st : return 
     if st.getState() != State.STARTED : return 
 
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/334_TheWishingPotion/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/334_TheWishingPotion/__init__.py
index 82f749b697..4fb604bace 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/334_TheWishingPotion/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/334_TheWishingPotion/__init__.py
@@ -79,7 +79,7 @@ class Quest (JQuest) :
      self.questItemIds = range(3678,3683)+range(3684,3692)
 
  def onAdvEvent (self,event,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st: return
    htmltext = event
    player=st.getPlayer()
@@ -277,7 +277,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    id = st.getState()
    if id == State.CREATED: return
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/335_TheSongOfTheHunter/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/335_TheSongOfTheHunter/__init__.py
index 8a5511c555..5b448323ec 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/335_TheSongOfTheHunter/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/335_TheSongOfTheHunter/__init__.py
@@ -295,7 +295,7 @@ class Quest (JQuest) :
         self.questItemIds = range(3692,3811) + [3471]
 
     def onAdvEvent (self,event,npc,player):
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st: return
         htmltext = event
         if event == "30744-03.htm" :
@@ -505,7 +505,7 @@ class Quest (JQuest) :
         return htmltext
 
     def onKill(self,npc,player,isPet):
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st : return
         npcId = npc.getId()
         cond = st.getInt("cond")
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/336_CoinOfMagic/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/336_CoinOfMagic/__init__.py
index a8c12e64aa..e8ebdb616e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/336_CoinOfMagic/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/336_CoinOfMagic/__init__.py
@@ -345,7 +345,7 @@ class Quest (JQuest) :
    st = 0
    # solo section of the quest
    if npcId in [HARITMATR, HARITSHA] :
-      st = player.getQuestState(qn)
+      st = self.getQuestState(player, False)
       if not st: return
       if st.getState() != State.STARTED or not st.get("part") or st.get("part") != "SOLO" : return
    if not npcId in [HARITMATR, HARITSHA] :
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/337_AudienceWithTheLandDragon/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/337_AudienceWithTheLandDragon/__init__.py
index c71842f80e..6908e09321 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/337_AudienceWithTheLandDragon/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/337_AudienceWithTheLandDragon/__init__.py
@@ -57,7 +57,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc,player):
      if player :
-         st = player.getQuestState(qn)
+         st = self.getQuestState(player, False)
          if not st : return
          htmltext = event
          if event == "30753-02.htm" :
@@ -247,7 +247,7 @@ class Quest (JQuest) :
     return htmltext
 
  def onAttack (self, npc, player, damage, isPet, skill):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if st :
      npcId = npc.getId()
      maxHp = npc.getMaxHp()
@@ -302,7 +302,7 @@ class Quest (JQuest) :
 
  def onKill(self,npc,player,isPet):
     npcId = npc.getId()
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if st :
         cond = st.getInt("cond")
         if cond == 1 :
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/340_SubjugationOfLizardmen/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/340_SubjugationOfLizardmen/__init__.py
index 0e64a3df87..1c20dc6da3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/340_SubjugationOfLizardmen/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/340_SubjugationOfLizardmen/__init__.py
@@ -29,7 +29,7 @@ class Quest (JQuest) :
      self.questItemIds = [TOTEM]
  
  def onAdvEvent (self, event, npc, player) :
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st: return
      htmltext = event
      if event == "30385-03.htm" :
@@ -130,7 +130,7 @@ class Quest (JQuest) :
      return htmltext
     
  def onKill(self,npc,player,isPet):
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return 
      npcId = npc.getId()
      chanse = self.getRandom(100)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/343_UnderTheShadowOfTheIvoryTower/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/343_UnderTheShadowOfTheIvoryTower/__init__.py
index bf617c5451..0af8835fa3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/343_UnderTheShadowOfTheIvoryTower/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/343_UnderTheShadowOfTheIvoryTower/__init__.py
@@ -188,7 +188,7 @@ class Quest (JQuest) :
      return htmltext
 
  def onKill(self,npc,player,isPet):
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return 
      if st.getState() != State.STARTED : return 
    
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/348_ArrogantSearch/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/348_ArrogantSearch/__init__.py
index 533e7a37ac..0e5db3056a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/348_ArrogantSearch/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/348_ArrogantSearch/__init__.py
@@ -346,7 +346,7 @@ class Quest (JQuest) :
     return htmltext
 
  def onAttack (self, npc, player, damage, isPet, skill):
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return
      if st.getState() != State.STARTED : return
 
@@ -374,7 +374,7 @@ class Quest (JQuest) :
      return
 
  def onKill(self,npc,player,isPet):
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return
      if st.getState() != State.STARTED : return
 
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/384_WarehouseKeepersPastime/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/384_WarehouseKeepersPastime/__init__.py
index 422c8ea693..7fb769c6af 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/384_WarehouseKeepersPastime/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/384_WarehouseKeepersPastime/__init__.py
@@ -142,7 +142,7 @@ class Quest (JQuest) :
             return item
 
  def onAdvEvent (self,event,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st: return
    htmltext = event
    npcId = str(npc.getId())
@@ -238,7 +238,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onKill(self,npc,player,isPet) :
-     st = player.getQuestState(qn)
+     st = self.getQuestState(player, False)
      if not st : return
      npcId = npc.getId()
      if npcId in Droplist.keys() :
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/419_GetAPet/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/419_GetAPet/__init__.py
index 441a156043..c2bc6909ae 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/419_GetAPet/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/419_GetAPet/__init__.py
@@ -217,7 +217,7 @@ class Quest (JQuest):
     return
 
   def onKill(self,npc,player,isPet):
-      st = player.getQuestState(qn)
+      st = self.getQuestState(player, False)
       if not st : return 
       if st.getState() != State.STARTED : return 
    
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/__init__.py
index d8e8bb4b1a..b73b7d56ae 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/422_RepentYourSins/__init__.py
@@ -50,7 +50,7 @@ class Quest (JQuest) :
 
  def onAdvEvent (self,event,npc,player) :
     htmltext = event
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st: return
     if event == "Start" :
         st.playSound("ItemSound.quest_accept")
@@ -243,7 +243,7 @@ class Quest (JQuest) :
 
 
  def onKill(self,npc,player,isPet) :
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    if st.getState() != State.STARTED : return
    condition = st.getInt("cond")
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/503_PursuitClanAmbition/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/503_PursuitClanAmbition/__init__.py
index cdbc8d29a9..37be68bc26 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/503_PursuitClanAmbition/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/503_PursuitClanAmbition/__init__.py
@@ -498,7 +498,7 @@ class Quest (JQuest) :
     # only if the leader is online and within a certain distance!
     leader_st = 0
     if player.isClanLeader() :
-      leader_st = player.getQuestState(qn)
+      leader_st = self.getQuestState(player, False)
     else :
       clan = player.getClan()
       if clan:
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/604_DaimontheWhiteEyedPart2/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/604_DaimontheWhiteEyedPart2/__init__.py
index 11f3a48302..7db79dddec 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/604_DaimontheWhiteEyedPart2/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/604_DaimontheWhiteEyedPart2/__init__.py
@@ -52,7 +52,7 @@ class Quest (JQuest) :
    elif event == "spawn_npc" :
       self.addSpawn(31541,186304,-43744,-3193,57000, False, 0, True)
       return
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st: return
    cond = st.getInt("cond") 
    htmltext = event 
@@ -144,7 +144,7 @@ class Quest (JQuest) :
             st.set("cond","3") 
             st.playSound("ItemSound.quest_middle")
         else :
-            st = player.getQuestState(qn)
+            st = self.getQuestState(player, False)
             if not st : return
             if st.getState() == State.STARTED and (st.getInt("cond") == 1 or st.getInt("cond") == 2) :
                 if st.getQuestItemsCount(S_SUMMON) > 0 :
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/60_GoodWorkReward/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/60_GoodWorkReward/__init__.py
index 3f4454c95f..b0a3d6bddf 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/60_GoodWorkReward/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/60_GoodWorkReward/__init__.py
@@ -77,7 +77,7 @@ class Quest (JQuest) :
     if event == "npc_cleanup" :
       self.isNpcSpawned = 0
       return
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st: return
     htmltext = event
     if event == "31435-03.htm" :
@@ -211,7 +211,7 @@ class Quest (JQuest) :
  def onKill(self,npc,player,isPet):
    self.cancelQuestTimer("npc_cleanup", None, None)
    self.isNpcSpawned = 0
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    if st.getState() != State.STARTED : return
    npcId = npc.getId()
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/620_FourGoblets/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/620_FourGoblets/__init__.py
index fb97b80369..5b2dbf72ea 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/620_FourGoblets/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/620_FourGoblets/__init__.py
@@ -115,7 +115,7 @@ class Quest (JQuest) :
     return htmltext
 
   def onKill (self,npc,player,isPet) :
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     npcId = npc.getId()
     if st:
       if int(st.get("cond")) == 1 or int(st.get("cond")) == 2 :
@@ -127,7 +127,7 @@ class Quest (JQuest) :
 
   def onAdvEvent (self,event,npc,player) :
     htmltext = event
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     htmltext = event
     if event == "Enter" : 
       FourSepulchersManager.getInstance().tryEntry(npc,player)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/65_CertifiedSoulBreaker/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/65_CertifiedSoulBreaker/__init__.py
index 24f70e7a79..0016875ad1 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/65_CertifiedSoulBreaker/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/65_CertifiedSoulBreaker/__init__.py
@@ -98,7 +98,7 @@ class Quest (JQuest) :
         return htmltext
 
     def onFirstTalk (self,npc,player):
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if st :
             if npc.getId() == Katenar and st.getInt("cond") == 12:
                 st.unset("angel")
@@ -245,7 +245,7 @@ class Quest (JQuest) :
         return htmltext
 
     def onKill(self,npc,player,isPet):
-        st = player.getQuestState(qn)
+        st = self.getQuestState(player, False)
         if not st : return
         if st.getState() != State.STARTED : return
         npcId = npc.getId()
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/663_SeductiveWhispers/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/663_SeductiveWhispers/__init__.py
index 44fd24ce72..1550666070 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/663_SeductiveWhispers/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/663_SeductiveWhispers/__init__.py
@@ -170,7 +170,7 @@ class Quest (JQuest) :
    return htmltext
  
  def onKill(self,npc,player,isPet):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    if st.getState() != State.STARTED : return
    npcId = npc.getId()
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/999_T1Tutorial/__init__.py b/L2J_DataPack/dist/game/data/scripts/quests/999_T1Tutorial/__init__.py
index 80e07e2430..5efb3ac348 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/999_T1Tutorial/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/quests/999_T1Tutorial/__init__.py
@@ -79,7 +79,7 @@ class Quest (JQuest) :
  def onAdvEvent(self,event,npc,player):
     if Config.DISABLE_TUTORIAL :
         return
-    st = player.getQuestState(qn)
+    st = self.getQuestState(player, False)
     if not st: return
     htmltext = event
     qs = st.getPlayer().getQuestState(qnTutorial)
@@ -142,9 +142,7 @@ class Quest (JQuest) :
    if not qs : 
       npc.showChatWindow(player)
       return None
-   st = player.getQuestState(qn)
-   if not st :
-      st = self.newQuestState(player)
+   st = self.getQuestState(player, True)
    htmltext = ""
    Ex = qs.getInt("Ex")
    npcId = npc.getId()
@@ -231,7 +229,7 @@ class Quest (JQuest) :
  def onKill(self,npc,player,isPet):
    if Config.DISABLE_TUTORIAL :
      return
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    qs = st.getPlayer().getQuestState(qnTutorial)
    if not qs : return
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/AbstractSagaQuest.java b/L2J_DataPack/dist/game/data/scripts/quests/AbstractSagaQuest.java
index b2fe5ef407..bd5dadd558 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/AbstractSagaQuest.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/AbstractSagaQuest.java
@@ -71,7 +71,7 @@ public abstract class AbstractSagaQuest extends Quest
 	
 	private QuestState findQuest(L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st != null)
 		{
 			if (getId() == 68)
@@ -157,7 +157,7 @@ public abstract class AbstractSagaQuest extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -444,7 +444,7 @@ public abstract class AbstractSagaQuest extends Quest
 		if (st2 != null)
 		{
 			int cond = st2.getCond();
-			QuestState st = player.getQuestState(getName());
+			QuestState st = getQuestState(player, false);
 			int npcId = npc.getId();
 			if ((npcId == Mob[2]) && (st == st2) && (cond == 17))
 			{
@@ -483,7 +483,7 @@ public abstract class AbstractSagaQuest extends Quest
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = "";
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		int npcId = npc.getId();
 		if (st != null)
 		{
@@ -555,7 +555,7 @@ public abstract class AbstractSagaQuest extends Quest
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
 		int npcId = npc.getId();
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		for (int Archon_Minion = 21646; Archon_Minion < 21652; Archon_Minion++)
 		{
 			if (npcId == Archon_Minion)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00001_LettersOfLove/Q00001_LettersOfLove.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00001_LettersOfLove/Q00001_LettersOfLove.java
index e95ff9f26c..112b7d7116 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00001_LettersOfLove/Q00001_LettersOfLove.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00001_LettersOfLove/Q00001_LettersOfLove.java
@@ -55,7 +55,7 @@ public class Q00001_LettersOfLove extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00002_WhatWomenWant/Q00002_WhatWomenWant.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00002_WhatWomenWant/Q00002_WhatWomenWant.java
index 2c618e2080..64857c1667 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00002_WhatWomenWant/Q00002_WhatWomenWant.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00002_WhatWomenWant/Q00002_WhatWomenWant.java
@@ -58,7 +58,7 @@ public class Q00002_WhatWomenWant extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00003_WillTheSealBeBroken/Q00003_WillTheSealBeBroken.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00003_WillTheSealBeBroken/Q00003_WillTheSealBeBroken.java
index 8773ae7c43..7a26a5ec68 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00003_WillTheSealBeBroken/Q00003_WillTheSealBeBroken.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00003_WillTheSealBeBroken/Q00003_WillTheSealBeBroken.java
@@ -61,7 +61,7 @@ public class Q00003_WillTheSealBeBroken extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -90,7 +90,7 @@ public class Q00003_WillTheSealBeBroken extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		switch (npc.getId())
 		{
 			case OMEN_BEAST:
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00004_LongLiveThePaagrioLord/Q00004_LongLiveThePaagrioLord.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00004_LongLiveThePaagrioLord/Q00004_LongLiveThePaagrioLord.java
index 00cd7b6e10..587361bfdb 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00004_LongLiveThePaagrioLord/Q00004_LongLiveThePaagrioLord.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00004_LongLiveThePaagrioLord/Q00004_LongLiveThePaagrioLord.java
@@ -63,7 +63,7 @@ public class Q00004_LongLiveThePaagrioLord extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00005_MinersFavor/Q00005_MinersFavor.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00005_MinersFavor/Q00005_MinersFavor.java
index 95ed745379..c6f53f36f0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00005_MinersFavor/Q00005_MinersFavor.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00005_MinersFavor/Q00005_MinersFavor.java
@@ -60,7 +60,7 @@ public class Q00005_MinersFavor extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00006_StepIntoTheFuture/Q00006_StepIntoTheFuture.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00006_StepIntoTheFuture/Q00006_StepIntoTheFuture.java
index 9814f9e59d..2a13e0425a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00006_StepIntoTheFuture/Q00006_StepIntoTheFuture.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00006_StepIntoTheFuture/Q00006_StepIntoTheFuture.java
@@ -53,7 +53,7 @@ public class Q00006_StepIntoTheFuture extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00007_ATripBegins/Q00007_ATripBegins.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00007_ATripBegins/Q00007_ATripBegins.java
index 7e1f9ba1bb..678470fbb2 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00007_ATripBegins/Q00007_ATripBegins.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00007_ATripBegins/Q00007_ATripBegins.java
@@ -53,7 +53,7 @@ public class Q00007_ATripBegins extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00008_AnAdventureBegins/Q00008_AnAdventureBegins.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00008_AnAdventureBegins/Q00008_AnAdventureBegins.java
index 7b04aeee02..78cd2575f6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00008_AnAdventureBegins/Q00008_AnAdventureBegins.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00008_AnAdventureBegins/Q00008_AnAdventureBegins.java
@@ -53,7 +53,7 @@ public class Q00008_AnAdventureBegins extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00009_IntoTheCityOfHumans/Q00009_IntoTheCityOfHumans.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00009_IntoTheCityOfHumans/Q00009_IntoTheCityOfHumans.java
index b15b9cc233..c62fd4faa5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00009_IntoTheCityOfHumans/Q00009_IntoTheCityOfHumans.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00009_IntoTheCityOfHumans/Q00009_IntoTheCityOfHumans.java
@@ -51,7 +51,7 @@ public class Q00009_IntoTheCityOfHumans extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00010_IntoTheWorld/Q00010_IntoTheWorld.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00010_IntoTheWorld/Q00010_IntoTheWorld.java
index 27f63ae501..4b310bf811 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00010_IntoTheWorld/Q00010_IntoTheWorld.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00010_IntoTheWorld/Q00010_IntoTheWorld.java
@@ -53,7 +53,7 @@ public class Q00010_IntoTheWorld extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/Q00011_SecretMeetingWithKetraOrcs.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/Q00011_SecretMeetingWithKetraOrcs.java
index f57ef9b9ad..0dd3e2f656 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/Q00011_SecretMeetingWithKetraOrcs.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00011_SecretMeetingWithKetraOrcs/Q00011_SecretMeetingWithKetraOrcs.java
@@ -50,7 +50,7 @@ public class Q00011_SecretMeetingWithKetraOrcs extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/Q00012_SecretMeetingWithVarkaSilenos.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/Q00012_SecretMeetingWithVarkaSilenos.java
index ccc200c2d6..cc7914bb1b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/Q00012_SecretMeetingWithVarkaSilenos.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00012_SecretMeetingWithVarkaSilenos/Q00012_SecretMeetingWithVarkaSilenos.java
@@ -50,7 +50,7 @@ public class Q00012_SecretMeetingWithVarkaSilenos extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00013_ParcelDelivery/Q00013_ParcelDelivery.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00013_ParcelDelivery/Q00013_ParcelDelivery.java
index a9e0f48963..d82e037185 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00013_ParcelDelivery/Q00013_ParcelDelivery.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00013_ParcelDelivery/Q00013_ParcelDelivery.java
@@ -49,7 +49,7 @@ public class Q00013_ParcelDelivery extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/Q00014_WhereaboutsOfTheArchaeologist.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/Q00014_WhereaboutsOfTheArchaeologist.java
index 0990d329c0..b10ccb311b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/Q00014_WhereaboutsOfTheArchaeologist.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00014_WhereaboutsOfTheArchaeologist/Q00014_WhereaboutsOfTheArchaeologist.java
@@ -49,7 +49,7 @@ public class Q00014_WhereaboutsOfTheArchaeologist extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00015_SweetWhispers/Q00015_SweetWhispers.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00015_SweetWhispers/Q00015_SweetWhispers.java
index ec3eaf8167..7b83abd293 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00015_SweetWhispers/Q00015_SweetWhispers.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00015_SweetWhispers/Q00015_SweetWhispers.java
@@ -47,7 +47,7 @@ public class Q00015_SweetWhispers extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00016_TheComingDarkness/Q00016_TheComingDarkness.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00016_TheComingDarkness/Q00016_TheComingDarkness.java
index 71dcadf1c1..27461485ff 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00016_TheComingDarkness/Q00016_TheComingDarkness.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00016_TheComingDarkness/Q00016_TheComingDarkness.java
@@ -56,7 +56,7 @@ public class Q00016_TheComingDarkness extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00017_LightAndDarkness/Q00017_LightAndDarkness.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00017_LightAndDarkness/Q00017_LightAndDarkness.java
index f270e35c4a..a85813f117 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00017_LightAndDarkness/Q00017_LightAndDarkness.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00017_LightAndDarkness/Q00017_LightAndDarkness.java
@@ -54,7 +54,7 @@ public class Q00017_LightAndDarkness extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/Q00018_MeetingWithTheGoldenRam.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/Q00018_MeetingWithTheGoldenRam.java
index 492ecfdae5..1c07a88338 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/Q00018_MeetingWithTheGoldenRam.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00018_MeetingWithTheGoldenRam/Q00018_MeetingWithTheGoldenRam.java
@@ -50,7 +50,7 @@ public class Q00018_MeetingWithTheGoldenRam extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00019_GoToThePastureland/Q00019_GoToThePastureland.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00019_GoToThePastureland/Q00019_GoToThePastureland.java
index e48926ff42..2ae87ee08a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00019_GoToThePastureland/Q00019_GoToThePastureland.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00019_GoToThePastureland/Q00019_GoToThePastureland.java
@@ -50,7 +50,7 @@ public class Q00019_GoToThePastureland extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00020_BringUpWithLove/Q00020_BringUpWithLove.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00020_BringUpWithLove/Q00020_BringUpWithLove.java
index 835af88865..39b491df9d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00020_BringUpWithLove/Q00020_BringUpWithLove.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00020_BringUpWithLove/Q00020_BringUpWithLove.java
@@ -48,7 +48,7 @@ public class Q00020_BringUpWithLove extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java
index 05444fcc85..ec6086976f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java
@@ -75,7 +75,7 @@ public class Q00021_HiddenTruth extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/Q00024_InhabitantsOfTheForestOfTheDead.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/Q00024_InhabitantsOfTheForestOfTheDead.java
index 25480310bf..1fe4cada23 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/Q00024_InhabitantsOfTheForestOfTheDead.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00024_InhabitantsOfTheForestOfTheDead/Q00024_InhabitantsOfTheForestOfTheDead.java
@@ -61,7 +61,7 @@ public class Q00024_InhabitantsOfTheForestOfTheDead extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -206,7 +206,7 @@ public class Q00024_InhabitantsOfTheForestOfTheDead extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if ((st != null) && st.isCond(9) && (getRandom(100) < 10))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00026_TiredOfWaiting/Q00026_TiredOfWaiting.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00026_TiredOfWaiting/Q00026_TiredOfWaiting.java
index c993f7b765..78fd221adf 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00026_TiredOfWaiting/Q00026_TiredOfWaiting.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00026_TiredOfWaiting/Q00026_TiredOfWaiting.java
@@ -57,7 +57,7 @@ public final class Q00026_TiredOfWaiting extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = null;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/Q00027_ChestCaughtWithABaitOfWind.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/Q00027_ChestCaughtWithABaitOfWind.java
index 9478128004..6735b58f19 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/Q00027_ChestCaughtWithABaitOfWind.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00027_ChestCaughtWithABaitOfWind/Q00027_ChestCaughtWithABaitOfWind.java
@@ -53,7 +53,7 @@ public class Q00027_ChestCaughtWithABaitOfWind extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/Q00028_ChestCaughtWithABaitOfIcyAir.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/Q00028_ChestCaughtWithABaitOfIcyAir.java
index 2d4f12bafa..ddaa8e7f11 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/Q00028_ChestCaughtWithABaitOfIcyAir.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00028_ChestCaughtWithABaitOfIcyAir/Q00028_ChestCaughtWithABaitOfIcyAir.java
@@ -53,7 +53,7 @@ public class Q00028_ChestCaughtWithABaitOfIcyAir extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/Q00029_ChestCaughtWithABaitOfEarth.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/Q00029_ChestCaughtWithABaitOfEarth.java
index d18a5beb45..17029bd9b3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/Q00029_ChestCaughtWithABaitOfEarth.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00029_ChestCaughtWithABaitOfEarth/Q00029_ChestCaughtWithABaitOfEarth.java
@@ -53,7 +53,7 @@ public class Q00029_ChestCaughtWithABaitOfEarth extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/Q00030_ChestCaughtWithABaitOfFire.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/Q00030_ChestCaughtWithABaitOfFire.java
index 715420833c..5c3b312de3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/Q00030_ChestCaughtWithABaitOfFire.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00030_ChestCaughtWithABaitOfFire/Q00030_ChestCaughtWithABaitOfFire.java
@@ -53,7 +53,7 @@ public class Q00030_ChestCaughtWithABaitOfFire extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00031_SecretBuriedInTheSwamp/Q00031_SecretBuriedInTheSwamp.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00031_SecretBuriedInTheSwamp/Q00031_SecretBuriedInTheSwamp.java
index ff2ed5927e..878e02bd3c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00031_SecretBuriedInTheSwamp/Q00031_SecretBuriedInTheSwamp.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00031_SecretBuriedInTheSwamp/Q00031_SecretBuriedInTheSwamp.java
@@ -59,7 +59,7 @@ public final class Q00031_SecretBuriedInTheSwamp extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00033_MakeAPairOfDressShoes/Q00033_MakeAPairOfDressShoes.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00033_MakeAPairOfDressShoes/Q00033_MakeAPairOfDressShoes.java
index c19169a245..d326911d83 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00033_MakeAPairOfDressShoes/Q00033_MakeAPairOfDressShoes.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00033_MakeAPairOfDressShoes/Q00033_MakeAPairOfDressShoes.java
@@ -57,7 +57,7 @@ public class Q00033_MakeAPairOfDressShoes extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/Q00034_InSearchOfCloth.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/Q00034_InSearchOfCloth.java
index f4f80a5887..bfa85ca027 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/Q00034_InSearchOfCloth.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00034_InSearchOfCloth/Q00034_InSearchOfCloth.java
@@ -65,7 +65,7 @@ public class Q00034_InSearchOfCloth extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -122,7 +122,7 @@ public class Q00034_InSearchOfCloth extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 4);
 		if ((member != null) && getRandomBoolean())
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			st.giveItems(SPINNERET, 1);
 			if (st.getQuestItemsCount(SPINNERET) >= SPINNERET_COUNT)
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00035_FindGlitteringJewelry/Q00035_FindGlitteringJewelry.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00035_FindGlitteringJewelry/Q00035_FindGlitteringJewelry.java
index ad535f7a71..a53ab8805d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00035_FindGlitteringJewelry/Q00035_FindGlitteringJewelry.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00035_FindGlitteringJewelry/Q00035_FindGlitteringJewelry.java
@@ -61,7 +61,7 @@ public class Q00035_FindGlitteringJewelry extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -111,7 +111,7 @@ public class Q00035_FindGlitteringJewelry extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 2);
 		if (member != null)
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			if (getRandomBoolean())
 			{
 				st.giveItems(ROUGH_JEWEL, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00036_MakeASewingKit/Q00036_MakeASewingKit.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00036_MakeASewingKit/Q00036_MakeASewingKit.java
index c65c0c0d7f..8c2c8a4b08 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00036_MakeASewingKit/Q00036_MakeASewingKit.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00036_MakeASewingKit/Q00036_MakeASewingKit.java
@@ -57,7 +57,7 @@ public class Q00036_MakeASewingKit extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -103,7 +103,7 @@ public class Q00036_MakeASewingKit extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 1);
 		if (member != null)
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			if (getRandomBoolean())
 			{
 				st.giveItems(ENCHANTED_IRON, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00037_MakeFormalWear/Q00037_MakeFormalWear.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00037_MakeFormalWear/Q00037_MakeFormalWear.java
index 3d632d33c3..671d8f66b2 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00037_MakeFormalWear/Q00037_MakeFormalWear.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00037_MakeFormalWear/Q00037_MakeFormalWear.java
@@ -58,7 +58,7 @@ public class Q00037_MakeFormalWear extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00040_ASpecialOrder/Q00040_ASpecialOrder.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00040_ASpecialOrder/Q00040_ASpecialOrder.java
index df6606e7bc..384cf2703e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00040_ASpecialOrder/Q00040_ASpecialOrder.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00040_ASpecialOrder/Q00040_ASpecialOrder.java
@@ -59,7 +59,7 @@ public final class Q00040_ASpecialOrder extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00042_HelpTheUncle/Q00042_HelpTheUncle.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00042_HelpTheUncle/Q00042_HelpTheUncle.java
index 326bba57f1..20b9d16519 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00042_HelpTheUncle/Q00042_HelpTheUncle.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00042_HelpTheUncle/Q00042_HelpTheUncle.java
@@ -56,7 +56,7 @@ public class Q00042_HelpTheUncle extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -113,7 +113,7 @@ public class Q00042_HelpTheUncle extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if ((st != null) && st.isCond(2))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00043_HelpTheSister/Q00043_HelpTheSister.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00043_HelpTheSister/Q00043_HelpTheSister.java
index b8a94c7972..6718f3e031 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00043_HelpTheSister/Q00043_HelpTheSister.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00043_HelpTheSister/Q00043_HelpTheSister.java
@@ -56,7 +56,7 @@ public class Q00043_HelpTheSister extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -113,7 +113,7 @@ public class Q00043_HelpTheSister extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if ((st != null) && st.isCond(2))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00044_HelpTheSon/Q00044_HelpTheSon.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00044_HelpTheSon/Q00044_HelpTheSon.java
index e0d11e754c..5a36fd1834 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00044_HelpTheSon/Q00044_HelpTheSon.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00044_HelpTheSon/Q00044_HelpTheSon.java
@@ -57,7 +57,7 @@ public class Q00044_HelpTheSon extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -115,7 +115,7 @@ public class Q00044_HelpTheSon extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(2))
 		{
 			st.giveItems(GEMSTONE_FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00045_ToTalkingIsland/Q00045_ToTalkingIsland.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00045_ToTalkingIsland/Q00045_ToTalkingIsland.java
index 2d08ec5831..308084fb5f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00045_ToTalkingIsland/Q00045_ToTalkingIsland.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00045_ToTalkingIsland/Q00045_ToTalkingIsland.java
@@ -74,7 +74,7 @@ public final class Q00045_ToTalkingIsland extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00046_OnceMoreInTheArmsOfTheMotherTree/Q00046_OnceMoreInTheArmsOfTheMotherTree.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00046_OnceMoreInTheArmsOfTheMotherTree/Q00046_OnceMoreInTheArmsOfTheMotherTree.java
index 2005608e1d..500728fe4a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00046_OnceMoreInTheArmsOfTheMotherTree/Q00046_OnceMoreInTheArmsOfTheMotherTree.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00046_OnceMoreInTheArmsOfTheMotherTree/Q00046_OnceMoreInTheArmsOfTheMotherTree.java
@@ -74,7 +74,7 @@ public final class Q00046_OnceMoreInTheArmsOfTheMotherTree extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00047_IntoTheDarkElvenForest/Q00047_IntoTheDarkElvenForest.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00047_IntoTheDarkElvenForest/Q00047_IntoTheDarkElvenForest.java
index e0ec006bc8..5c54b88be9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00047_IntoTheDarkElvenForest/Q00047_IntoTheDarkElvenForest.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00047_IntoTheDarkElvenForest/Q00047_IntoTheDarkElvenForest.java
@@ -74,7 +74,7 @@ public final class Q00047_IntoTheDarkElvenForest extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00048_ToTheImmortalPlateau/Q00048_ToTheImmortalPlateau.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00048_ToTheImmortalPlateau/Q00048_ToTheImmortalPlateau.java
index 64c080c7f1..af063328cc 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00048_ToTheImmortalPlateau/Q00048_ToTheImmortalPlateau.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00048_ToTheImmortalPlateau/Q00048_ToTheImmortalPlateau.java
@@ -74,7 +74,7 @@ public final class Q00048_ToTheImmortalPlateau extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00049_TheRoadHome/Q00049_TheRoadHome.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00049_TheRoadHome/Q00049_TheRoadHome.java
index e5bf8b8585..63b8ba175b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00049_TheRoadHome/Q00049_TheRoadHome.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00049_TheRoadHome/Q00049_TheRoadHome.java
@@ -74,7 +74,7 @@ public final class Q00049_TheRoadHome extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java
index 31be123c75..7a6975ffcd 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00050_LanoscosSpecialBait/Q00050_LanoscosSpecialBait.java
@@ -52,7 +52,7 @@ public class Q00050_LanoscosSpecialBait extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -86,7 +86,7 @@ public class Q00050_LanoscosSpecialBait extends Quest
 			return null;
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		if (st.getQuestItemsCount(ESSENCE_OF_WIND) < 100)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java
index eab808d6da..a13a13eb0d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00051_OFullesSpecialBait/Q00051_OFullesSpecialBait.java
@@ -52,7 +52,7 @@ public class Q00051_OFullesSpecialBait extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -85,7 +85,7 @@ public class Q00051_OFullesSpecialBait extends Quest
 			return null;
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		if (st.getQuestItemsCount(LOST_BAIT) < 100)
 		{
 			float chance = 33 * Config.RATE_QUEST_DROP;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java
index 978042b3aa..aecbf79638 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00052_WilliesSpecialBait/Q00052_WilliesSpecialBait.java
@@ -52,7 +52,7 @@ public class Q00052_WilliesSpecialBait extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -85,7 +85,7 @@ public class Q00052_WilliesSpecialBait extends Quest
 			return null;
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		if (st.getQuestItemsCount(TARLK_EYE) < 100)
 		{
 			float chance = 33 * Config.RATE_QUEST_DROP;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00053_LinnaeusSpecialBait/Q00053_LinnaeusSpecialBait.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00053_LinnaeusSpecialBait/Q00053_LinnaeusSpecialBait.java
index 511f497be4..35f7a73e33 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00053_LinnaeusSpecialBait/Q00053_LinnaeusSpecialBait.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00053_LinnaeusSpecialBait/Q00053_LinnaeusSpecialBait.java
@@ -57,7 +57,7 @@ public class Q00053_LinnaeusSpecialBait extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -94,7 +94,7 @@ public class Q00053_LinnaeusSpecialBait extends Quest
 			return null;
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		if (st.getQuestItemsCount(CRIMSON_DRAKE_HEART) < 100)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/Q00073_SagaOfTheDuelist.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/Q00073_SagaOfTheDuelist.java
index 6d0b8b33c7..71e3eb496d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/Q00073_SagaOfTheDuelist.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00073_SagaOfTheDuelist/Q00073_SagaOfTheDuelist.java
@@ -122,7 +122,7 @@ public class Q00073_SagaOfTheDuelist extends AbstractSagaQuest
 		if (npc.getId() == TUNATUN)
 		{
 			String htmltext = getNoQuestMsg(player);
-			QuestState st = player.getQuestState(getName());
+			QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isCond(3))
 			{
 				if (!st.hasQuestItems(TOPQUALITYMEAT))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/Q00101_SwordOfSolidarity.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/Q00101_SwordOfSolidarity.java
index 93d688cec2..87b326031e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/Q00101_SwordOfSolidarity.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00101_SwordOfSolidarity/Q00101_SwordOfSolidarity.java
@@ -77,7 +77,7 @@ public class Q00101_SwordOfSolidarity extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -131,7 +131,7 @@ public class Q00101_SwordOfSolidarity extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(2) && (getRandom(5) == 0))
 		{
 			if (!st.hasQuestItems(BROKEN_BLADE_TOP))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00102_SeaOfSporesFever/Q00102_SeaOfSporesFever.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00102_SeaOfSporesFever/Q00102_SeaOfSporesFever.java
index b070fcbd13..4e55e0cf02 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00102_SeaOfSporesFever/Q00102_SeaOfSporesFever.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00102_SeaOfSporesFever/Q00102_SeaOfSporesFever.java
@@ -89,7 +89,7 @@ public class Q00102_SeaOfSporesFever extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30284-02.htm"))
 		{
 			st.startQuest();
@@ -102,7 +102,7 @@ public class Q00102_SeaOfSporesFever extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(2) && (getRandom(10) < 3))
 		{
 			st.giveItems(DRYADS_TEAR, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00104_SpiritOfMirrors/Q00104_SpiritOfMirrors.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00104_SpiritOfMirrors/Q00104_SpiritOfMirrors.java
index 76f5dd593d..77eaaf25ed 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00104_SpiritOfMirrors/Q00104_SpiritOfMirrors.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00104_SpiritOfMirrors/Q00104_SpiritOfMirrors.java
@@ -83,7 +83,7 @@ public final class Q00104_SpiritOfMirrors extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30017-04.htm"))
 		{
 			st.startQuest();
@@ -96,7 +96,7 @@ public final class Q00104_SpiritOfMirrors extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (st.isCond(1) || st.isCond(2)) && (st.getItemEquipped(Inventory.PAPERDOLL_RHAND) == GALLINTS_OAK_WAND) && !st.hasQuestItems(MONSTERS.get(npc.getId())))
 		{
 			st.takeItems(GALLINTS_OAK_WAND, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00105_SkirmishWithOrcs/Q00105_SkirmishWithOrcs.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00105_SkirmishWithOrcs/Q00105_SkirmishWithOrcs.java
index e91201194d..6be880706c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00105_SkirmishWithOrcs/Q00105_SkirmishWithOrcs.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00105_SkirmishWithOrcs/Q00105_SkirmishWithOrcs.java
@@ -89,7 +89,7 @@ public final class Q00105_SkirmishWithOrcs extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -119,7 +119,7 @@ public final class Q00105_SkirmishWithOrcs extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, killer, true))
 		{
 			switch (npc.getId())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00106_ForgottenTruth/Q00106_ForgottenTruth.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00106_ForgottenTruth/Q00106_ForgottenTruth.java
index d976527cfb..223597bf64 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00106_ForgottenTruth/Q00106_ForgottenTruth.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00106_ForgottenTruth/Q00106_ForgottenTruth.java
@@ -62,7 +62,7 @@ public final class Q00106_ForgottenTruth extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -92,7 +92,7 @@ public final class Q00106_ForgottenTruth extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(2) && Util.checkIfInRange(1500, npc, killer, true))
 		{
 			if ((getRandom(100) < 20) && st.hasQuestItems(ONYX_TALISMAN2))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00108_JumbleTumbleDiamondFuss/Q00108_JumbleTumbleDiamondFuss.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00108_JumbleTumbleDiamondFuss/Q00108_JumbleTumbleDiamondFuss.java
index 9e5d8acb4a..f89f3b103e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00108_JumbleTumbleDiamondFuss/Q00108_JumbleTumbleDiamondFuss.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00108_JumbleTumbleDiamondFuss/Q00108_JumbleTumbleDiamondFuss.java
@@ -99,7 +99,7 @@ public final class Q00108_JumbleTumbleDiamondFuss extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -509,7 +509,7 @@ public final class Q00108_JumbleTumbleDiamondFuss extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, killer, true))
 		{
 			switch (npc.getId())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00109_InSearchOfTheNest/Q00109_InSearchOfTheNest.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00109_InSearchOfTheNest/Q00109_InSearchOfTheNest.java
index 5e3d557a93..eeae7fd49d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00109_InSearchOfTheNest/Q00109_InSearchOfTheNest.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00109_InSearchOfTheNest/Q00109_InSearchOfTheNest.java
@@ -48,7 +48,7 @@ public class Q00109_InSearchOfTheNest extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00110_ToThePrimevalIsle/Q00110_ToThePrimevalIsle.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00110_ToThePrimevalIsle/Q00110_ToThePrimevalIsle.java
index a55e84a1c6..edfe7ba93a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00110_ToThePrimevalIsle/Q00110_ToThePrimevalIsle.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00110_ToThePrimevalIsle/Q00110_ToThePrimevalIsle.java
@@ -47,7 +47,7 @@ public class Q00110_ToThePrimevalIsle extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00112_WalkOfFate/Q00112_WalkOfFate.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00112_WalkOfFate/Q00112_WalkOfFate.java
index 24b6747b4c..cd2b84d881 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00112_WalkOfFate/Q00112_WalkOfFate.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00112_WalkOfFate/Q00112_WalkOfFate.java
@@ -48,7 +48,7 @@ public class Q00112_WalkOfFate extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st == null) || (player.getLevel() < MIN_LEVEL))
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00113_StatusOfTheBeaconTower/Q00113_StatusOfTheBeaconTower.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00113_StatusOfTheBeaconTower/Q00113_StatusOfTheBeaconTower.java
index 9feeb7a258..9d2c6960f6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00113_StatusOfTheBeaconTower/Q00113_StatusOfTheBeaconTower.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00113_StatusOfTheBeaconTower/Q00113_StatusOfTheBeaconTower.java
@@ -49,7 +49,7 @@ public class Q00113_StatusOfTheBeaconTower extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java
index daaa758f05..5a9b30f2f7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java
@@ -70,7 +70,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -325,7 +325,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if ((st != null) && st.isCond(10) && (st.getInt("spawned") == 1))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00115_TheOtherSideOfTruth/Q00115_TheOtherSideOfTruth.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00115_TheOtherSideOfTruth/Q00115_TheOtherSideOfTruth.java
index b8ce2705c3..cf1550c655 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00115_TheOtherSideOfTruth/Q00115_TheOtherSideOfTruth.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00115_TheOtherSideOfTruth/Q00115_TheOtherSideOfTruth.java
@@ -58,7 +58,7 @@ public class Q00115_TheOtherSideOfTruth extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00119_LastImperialPrince/Q00119_LastImperialPrince.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00119_LastImperialPrince/Q00119_LastImperialPrince.java
index 84098d10e7..627470cedb 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00119_LastImperialPrince/Q00119_LastImperialPrince.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00119_LastImperialPrince/Q00119_LastImperialPrince.java
@@ -48,7 +48,7 @@ public class Q00119_LastImperialPrince extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00121_PavelTheGiant/Q00121_PavelTheGiant.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00121_PavelTheGiant/Q00121_PavelTheGiant.java
index 5699df1531..206badcff0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00121_PavelTheGiant/Q00121_PavelTheGiant.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00121_PavelTheGiant/Q00121_PavelTheGiant.java
@@ -45,7 +45,7 @@ public class Q00121_PavelTheGiant extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00122_OminousNews/Q00122_OminousNews.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00122_OminousNews/Q00122_OminousNews.java
index d204ae1e40..5258271077 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00122_OminousNews/Q00122_OminousNews.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00122_OminousNews/Q00122_OminousNews.java
@@ -45,7 +45,7 @@ public class Q00122_OminousNews extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00124_MeetingTheElroki/Q00124_MeetingTheElroki.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00124_MeetingTheElroki/Q00124_MeetingTheElroki.java
index cd71a47eec..8479951de6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00124_MeetingTheElroki/Q00124_MeetingTheElroki.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00124_MeetingTheElroki/Q00124_MeetingTheElroki.java
@@ -50,7 +50,7 @@ public class Q00124_MeetingTheElroki extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00125_TheNameOfEvil1/Q00125_TheNameOfEvil1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00125_TheNameOfEvil1/Q00125_TheNameOfEvil1.java
index d3fb7f56ff..c29cbb78b8 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00125_TheNameOfEvil1/Q00125_TheNameOfEvil1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00125_TheNameOfEvil1/Q00125_TheNameOfEvil1.java
@@ -80,7 +80,7 @@ public class Q00125_TheNameOfEvil1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -254,7 +254,7 @@ public class Q00125_TheNameOfEvil1 extends Quest
 			return null;
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		int npcId = npc.getId();
 		if (ORNITHOMIMUS.containsKey(npcId))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00126_TheNameOfEvil2/Q00126_TheNameOfEvil2.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00126_TheNameOfEvil2/Q00126_TheNameOfEvil2.java
index 0f4ad38a01..afe8b7a663 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00126_TheNameOfEvil2/Q00126_TheNameOfEvil2.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00126_TheNameOfEvil2/Q00126_TheNameOfEvil2.java
@@ -59,7 +59,7 @@ public class Q00126_TheNameOfEvil2 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00128_PailakaSongOfIceAndFire/Q00128_PailakaSongOfIceAndFire.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00128_PailakaSongOfIceAndFire/Q00128_PailakaSongOfIceAndFire.java
index f322a203b4..1feafc0887 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00128_PailakaSongOfIceAndFire/Q00128_PailakaSongOfIceAndFire.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00128_PailakaSongOfIceAndFire/Q00128_PailakaSongOfIceAndFire.java
@@ -87,7 +87,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
 	public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = null;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -305,7 +305,7 @@ public final class Q00128_PailakaSongOfIceAndFire extends Quest
 	@Override
 	public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isStarted())
 		{
 			switch (npc.getId())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00130_PathToHellbound/Q00130_PathToHellbound.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00130_PathToHellbound/Q00130_PathToHellbound.java
index b58f68c274..e8b5f2f176 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00130_PathToHellbound/Q00130_PathToHellbound.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00130_PathToHellbound/Q00130_PathToHellbound.java
@@ -51,7 +51,7 @@ public class Q00130_PathToHellbound extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00131_BirdInACage/Q00131_BirdInACage.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00131_BirdInACage/Q00131_BirdInACage.java
index 87a136a178..03ffacc0ea 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00131_BirdInACage/Q00131_BirdInACage.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00131_BirdInACage/Q00131_BirdInACage.java
@@ -54,7 +54,7 @@ public class Q00131_BirdInACage extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/Q00132_MatrasCuriosity.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/Q00132_MatrasCuriosity.java
index 68bdc72151..21cbd38883 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/Q00132_MatrasCuriosity.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00132_MatrasCuriosity/Q00132_MatrasCuriosity.java
@@ -56,7 +56,7 @@ public final class Q00132_MatrasCuriosity extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -102,7 +102,7 @@ public final class Q00132_MatrasCuriosity extends Quest
 				pl = getRandomPartyMember(player, "rewarded_prince", "1");
 				if (pl != null)
 				{
-					final QuestState st = pl.getQuestState(getName());
+					final QuestState st = getQuestState(pl, false);
 					st.giveItems(BLUEPRINT_PRINCE, 1);
 					st.set("rewarded_prince", "2");
 					
@@ -120,7 +120,7 @@ public final class Q00132_MatrasCuriosity extends Quest
 				pl = getRandomPartyMember(player, "rewarded_ranku", "1");
 				if (pl != null)
 				{
-					final QuestState st = pl.getQuestState(getName());
+					final QuestState st = getQuestState(pl, false);
 					st.giveItems(BLUEPRINT_RANKU, 1);
 					st.set("rewarded_ranku", "2");
 					
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00133_ThatsBloodyHot/Q00133_ThatsBloodyHot.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00133_ThatsBloodyHot/Q00133_ThatsBloodyHot.java
index 6bc236dd89..8646cc0d44 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00133_ThatsBloodyHot/Q00133_ThatsBloodyHot.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00133_ThatsBloodyHot/Q00133_ThatsBloodyHot.java
@@ -53,7 +53,7 @@ public class Q00133_ThatsBloodyHot extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00134_TempleMissionary/Q00134_TempleMissionary.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00134_TempleMissionary/Q00134_TempleMissionary.java
index 88f50740da..9404e6126a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00134_TempleMissionary/Q00134_TempleMissionary.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00134_TempleMissionary/Q00134_TempleMissionary.java
@@ -75,7 +75,7 @@ public class Q00134_TempleMissionary extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -126,7 +126,7 @@ public class Q00134_TempleMissionary extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		if (npc.getId() == CRUMA_MARSHLANDS_TRAITOR)
 		{
 			st.giveItems(GIANTS_TECHNOLOGY_REPORT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00135_TempleExecutor/Q00135_TempleExecutor.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00135_TempleExecutor/Q00135_TempleExecutor.java
index 61fe36fee9..cbeb71533c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00135_TempleExecutor/Q00135_TempleExecutor.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00135_TempleExecutor/Q00135_TempleExecutor.java
@@ -73,7 +73,7 @@ public class Q00135_TempleExecutor extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -124,7 +124,7 @@ public class Q00135_TempleExecutor extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		if ((getRandom(1000) < MOBS.get(npc.getId())))
 		{
 			if (st.getQuestItemsCount(STOLEN_CARGO) < ITEM_COUNT)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00136_MoreThanMeetsTheEye/Q00136_MoreThanMeetsTheEye.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00136_MoreThanMeetsTheEye/Q00136_MoreThanMeetsTheEye.java
index 406ac56ef3..444c2512c8 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00136_MoreThanMeetsTheEye/Q00136_MoreThanMeetsTheEye.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00136_MoreThanMeetsTheEye/Q00136_MoreThanMeetsTheEye.java
@@ -89,7 +89,7 @@ public class Q00136_MoreThanMeetsTheEye extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -143,7 +143,7 @@ public class Q00136_MoreThanMeetsTheEye extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return super.onKill(npc, killer, isSummon);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00137_TempleChampionPart1/Q00137_TempleChampionPart1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00137_TempleChampionPart1/Q00137_TempleChampionPart1.java
index a398cc1d61..b6d33a8793 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00137_TempleChampionPart1/Q00137_TempleChampionPart1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00137_TempleChampionPart1/Q00137_TempleChampionPart1.java
@@ -58,7 +58,7 @@ public class Q00137_TempleChampionPart1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -98,7 +98,7 @@ public class Q00137_TempleChampionPart1 extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isStarted() && st.isCond(2) && (st.getQuestItemsCount(FRAGMENT) < 30))
 		{
 			st.giveItems(FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00138_TempleChampionPart2/Q00138_TempleChampionPart2.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00138_TempleChampionPart2/Q00138_TempleChampionPart2.java
index b660422674..3f148401f0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00138_TempleChampionPart2/Q00138_TempleChampionPart2.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00138_TempleChampionPart2/Q00138_TempleChampionPart2.java
@@ -62,7 +62,7 @@ public class Q00138_TempleChampionPart2 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -119,7 +119,7 @@ public class Q00138_TempleChampionPart2 extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isStarted() && st.isCond(4) && (st.getQuestItemsCount(RELICS_OF_THE_DARK_ELF_TRAINEE) < 10))
 		{
 			st.giveItems(RELICS_OF_THE_DARK_ELF_TRAINEE, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00139_ShadowFoxPart1/Q00139_ShadowFoxPart1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00139_ShadowFoxPart1/Q00139_ShadowFoxPart1.java
index 0bd133e7d0..1f27f8b925 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00139_ShadowFoxPart1/Q00139_ShadowFoxPart1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00139_ShadowFoxPart1/Q00139_ShadowFoxPart1.java
@@ -63,7 +63,7 @@ public class Q00139_ShadowFoxPart1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -130,7 +130,7 @@ public class Q00139_ShadowFoxPart1 extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		if (!st.isSet("talk") && (getRandom(100) < DROP_CHANCE))
 		{
 			int itemId = (getRandom(11) == 0) ? CHEST : FRAGMENT;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00140_ShadowFoxPart2/Q00140_ShadowFoxPart2.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00140_ShadowFoxPart2/Q00140_ShadowFoxPart2.java
index e5b9238698..848056cc89 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00140_ShadowFoxPart2/Q00140_ShadowFoxPart2.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00140_ShadowFoxPart2/Q00140_ShadowFoxPart2.java
@@ -71,7 +71,7 @@ public class Q00140_ShadowFoxPart2 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -141,7 +141,7 @@ public class Q00140_ShadowFoxPart2 extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		if (getRandom(100) < MOBS.get(npc.getId()))
 		{
 			st.giveItems(DARK_CRYSTAL, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00141_ShadowFoxPart3/Q00141_ShadowFoxPart3.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00141_ShadowFoxPart3/Q00141_ShadowFoxPart3.java
index 0f6faf40e6..13cd0761bf 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00141_ShadowFoxPart3/Q00141_ShadowFoxPart3.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00141_ShadowFoxPart3/Q00141_ShadowFoxPart3.java
@@ -67,7 +67,7 @@ public class Q00141_ShadowFoxPart3 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -129,7 +129,7 @@ public class Q00141_ShadowFoxPart3 extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		if ((getRandom(100) < MOBS.get(npc.getId())))
 		{
 			st.giveItems(PREDECESSORS_REPORT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00142_FallenAngelRequestOfDawn/Q00142_FallenAngelRequestOfDawn.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00142_FallenAngelRequestOfDawn/Q00142_FallenAngelRequestOfDawn.java
index 7ca530816f..317bb76583 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00142_FallenAngelRequestOfDawn/Q00142_FallenAngelRequestOfDawn.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00142_FallenAngelRequestOfDawn/Q00142_FallenAngelRequestOfDawn.java
@@ -76,7 +76,7 @@ public class Q00142_FallenAngelRequestOfDawn extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -151,7 +151,7 @@ public class Q00142_FallenAngelRequestOfDawn extends Quest
 			final L2PcInstance member = getRandomPartyMember(player, 4);
 			if (member != null)
 			{
-				st = member.getQuestState(getName());
+				st = getQuestState(member, false);
 				if (getRandom(1000) < MOBS.get(npc.getId()))
 				{
 					st.giveItems(PROPHECY_FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00143_FallenAngelRequestOfDusk/Q00143_FallenAngelRequestOfDusk.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00143_FallenAngelRequestOfDusk/Q00143_FallenAngelRequestOfDusk.java
index 6bbc351dc9..b10e7aa9f0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00143_FallenAngelRequestOfDusk/Q00143_FallenAngelRequestOfDusk.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00143_FallenAngelRequestOfDusk/Q00143_FallenAngelRequestOfDusk.java
@@ -56,7 +56,7 @@ public class Q00143_FallenAngelRequestOfDusk extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00146_TheZeroHour/Q00146_TheZeroHour.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00146_TheZeroHour/Q00146_TheZeroHour.java
index 403f928a30..da67d8d575 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00146_TheZeroHour/Q00146_TheZeroHour.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00146_TheZeroHour/Q00146_TheZeroHour.java
@@ -51,7 +51,7 @@ public class Q00146_TheZeroHour extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -70,7 +70,7 @@ public class Q00146_TheZeroHour extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			if (!st.hasQuestItems(FANG))
 			{
 				st.giveItems(FANG, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/Q00147_PathtoBecominganEliteMercenary.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/Q00147_PathtoBecominganEliteMercenary.java
index 92dba41cd4..007c833a9b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/Q00147_PathtoBecominganEliteMercenary.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00147_PathtoBecominganEliteMercenary/Q00147_PathtoBecominganEliteMercenary.java
@@ -59,7 +59,7 @@ public class Q00147_PathtoBecominganEliteMercenary extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/Q00148_PathtoBecominganExaltedMercenary.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/Q00148_PathtoBecominganExaltedMercenary.java
index b15af6b15d..64a8f5bf86 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/Q00148_PathtoBecominganExaltedMercenary.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00148_PathtoBecominganExaltedMercenary/Q00148_PathtoBecominganExaltedMercenary.java
@@ -61,7 +61,7 @@ public class Q00148_PathtoBecominganExaltedMercenary extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00151_CureForFever/Q00151_CureForFever.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00151_CureForFever/Q00151_CureForFever.java
index 7fb2bea828..063060536b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00151_CureForFever/Q00151_CureForFever.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00151_CureForFever/Q00151_CureForFever.java
@@ -61,7 +61,7 @@ public class Q00151_CureForFever extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30050-03.htm"))
 		{
 			st.startQuest();
@@ -73,7 +73,7 @@ public class Q00151_CureForFever extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && (getRandom(5) == CHANCE))
 		{
 			st.giveItems(POISON_SAC, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00152_ShardsOfGolem/Q00152_ShardsOfGolem.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00152_ShardsOfGolem/Q00152_ShardsOfGolem.java
index 84bb60d060..916f8be158 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00152_ShardsOfGolem/Q00152_ShardsOfGolem.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00152_ShardsOfGolem/Q00152_ShardsOfGolem.java
@@ -57,7 +57,7 @@ public class Q00152_ShardsOfGolem extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -89,7 +89,7 @@ public class Q00152_ShardsOfGolem extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(2) && (getRandom(100) < 30) && (st.getQuestItemsCount(GOLEM_SHARD) < 5))
 		{
 			st.giveItems(GOLEM_SHARD, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00153_DeliverGoods/Q00153_DeliverGoods.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00153_DeliverGoods/Q00153_DeliverGoods.java
index 0f530e5d7c..454f73277d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00153_DeliverGoods/Q00153_DeliverGoods.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00153_DeliverGoods/Q00153_DeliverGoods.java
@@ -60,7 +60,7 @@ public class Q00153_DeliverGoods extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && (npc.getId() == ARNOLD_ID))
 		{
 			if (event.equalsIgnoreCase("30041-02.html"))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00155_FindSirWindawood/Q00155_FindSirWindawood.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00155_FindSirWindawood/Q00155_FindSirWindawood.java
index f437305f70..e280ae6dae 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00155_FindSirWindawood/Q00155_FindSirWindawood.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00155_FindSirWindawood/Q00155_FindSirWindawood.java
@@ -50,7 +50,7 @@ public class Q00155_FindSirWindawood extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30042-03.htm"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00156_MillenniumLove/Q00156_MillenniumLove.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00156_MillenniumLove/Q00156_MillenniumLove.java
index 650e9d5755..79693cde71 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00156_MillenniumLove/Q00156_MillenniumLove.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00156_MillenniumLove/Q00156_MillenniumLove.java
@@ -51,7 +51,7 @@ public class Q00156_MillenniumLove extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00157_RecoverSmuggledGoods/Q00157_RecoverSmuggledGoods.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00157_RecoverSmuggledGoods/Q00157_RecoverSmuggledGoods.java
index 9d9c3d0d46..e36d02c01c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00157_RecoverSmuggledGoods/Q00157_RecoverSmuggledGoods.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00157_RecoverSmuggledGoods/Q00157_RecoverSmuggledGoods.java
@@ -53,7 +53,7 @@ public class Q00157_RecoverSmuggledGoods extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -78,7 +78,7 @@ public class Q00157_RecoverSmuggledGoods extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && (getRandom(10) < 4) && (st.getQuestItemsCount(ADAMANTITE_ORE) < 20))
 		{
 			st.giveItems(ADAMANTITE_ORE, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00158_SeedOfEvil/Q00158_SeedOfEvil.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00158_SeedOfEvil/Q00158_SeedOfEvil.java
index a1e4f4a6c8..8f0322211a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00158_SeedOfEvil/Q00158_SeedOfEvil.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00158_SeedOfEvil/Q00158_SeedOfEvil.java
@@ -56,7 +56,7 @@ public class Q00158_SeedOfEvil extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30031-03.htm"))
 		{
 			st.startQuest();
@@ -79,7 +79,7 @@ public class Q00158_SeedOfEvil extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && !st.hasQuestItems(CLAY_TABLET))
 		{
 			st.giveItems(CLAY_TABLET, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00159_ProtectTheWaterSource/Q00159_ProtectTheWaterSource.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00159_ProtectTheWaterSource/Q00159_ProtectTheWaterSource.java
index 1b856b4570..4bc5b88199 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00159_ProtectTheWaterSource/Q00159_ProtectTheWaterSource.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00159_ProtectTheWaterSource/Q00159_ProtectTheWaterSource.java
@@ -55,7 +55,7 @@ public class Q00159_ProtectTheWaterSource extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30154-04.htm"))
 		{
 			st.startQuest();
@@ -68,7 +68,7 @@ public class Q00159_ProtectTheWaterSource extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null))
 		{
 			switch (st.getCond())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00161_FruitOfTheMotherTree/Q00161_FruitOfTheMotherTree.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00161_FruitOfTheMotherTree/Q00161_FruitOfTheMotherTree.java
index e578531c2c..2d85fa5a4a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00161_FruitOfTheMotherTree/Q00161_FruitOfTheMotherTree.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00161_FruitOfTheMotherTree/Q00161_FruitOfTheMotherTree.java
@@ -51,7 +51,7 @@ public class Q00161_FruitOfTheMotherTree extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00162_CurseOfTheUndergroundFortress/Q00162_CurseOfTheUndergroundFortress.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00162_CurseOfTheUndergroundFortress/Q00162_CurseOfTheUndergroundFortress.java
index 1e6163aea5..0d0d288d24 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00162_CurseOfTheUndergroundFortress/Q00162_CurseOfTheUndergroundFortress.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00162_CurseOfTheUndergroundFortress/Q00162_CurseOfTheUndergroundFortress.java
@@ -70,7 +70,7 @@ public class Q00162_CurseOfTheUndergroundFortress extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -95,7 +95,7 @@ public class Q00162_CurseOfTheUndergroundFortress extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			if (MONSTERS_SKULLS.containsKey(npc.getId()))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00163_LegacyOfThePoet/Q00163_LegacyOfThePoet.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00163_LegacyOfThePoet/Q00163_LegacyOfThePoet.java
index 23b9f02f74..19c30ceff4 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00163_LegacyOfThePoet/Q00163_LegacyOfThePoet.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00163_LegacyOfThePoet/Q00163_LegacyOfThePoet.java
@@ -60,7 +60,7 @@ public class Q00163_LegacyOfThePoet extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -86,7 +86,7 @@ public class Q00163_LegacyOfThePoet extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			if ((getRandom(10) == 0) && !st.hasQuestItems(RUMIELS_1ST_POEM))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00164_BloodFiend/Q00164_BloodFiend.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00164_BloodFiend/Q00164_BloodFiend.java
index 068d120632..78908ae4ab 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00164_BloodFiend/Q00164_BloodFiend.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00164_BloodFiend/Q00164_BloodFiend.java
@@ -55,7 +55,7 @@ public class Q00164_BloodFiend extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30149-04.htm"))
 		{
 			st.startQuest();
@@ -67,7 +67,7 @@ public class Q00164_BloodFiend extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			npc.broadcastPacket(new NpcSay(npc, Say2.ALL, NpcStringId.I_HAVE_FULFILLED_MY_CONTRACT_WITH_TRADER_CREAMEES));
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00165_ShilensHunt/Q00165_ShilensHunt.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00165_ShilensHunt/Q00165_ShilensHunt.java
index ede2442767..8e20a809ee 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00165_ShilensHunt/Q00165_ShilensHunt.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00165_ShilensHunt/Q00165_ShilensHunt.java
@@ -65,7 +65,7 @@ public class Q00165_ShilensHunt extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30348-03.htm"))
 		{
 			st.startQuest();
@@ -77,7 +77,7 @@ public class Q00165_ShilensHunt extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && (getRandom(3) < MONSTERS.get(npc.getId())))
 		{
 			st.giveItems(DARK_BEZOAR, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00166_MassOfDarkness/Q00166_MassOfDarkness.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00166_MassOfDarkness/Q00166_MassOfDarkness.java
index 142849e4f9..b57b835765 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00166_MassOfDarkness/Q00166_MassOfDarkness.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00166_MassOfDarkness/Q00166_MassOfDarkness.java
@@ -66,7 +66,7 @@ public class Q00166_MassOfDarkness extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30130-03.htm"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00167_DwarvenKinship/Q00167_DwarvenKinship.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00167_DwarvenKinship/Q00167_DwarvenKinship.java
index 4171546f8b..8cea87bc84 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00167_DwarvenKinship/Q00167_DwarvenKinship.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00167_DwarvenKinship/Q00167_DwarvenKinship.java
@@ -51,7 +51,7 @@ public class Q00167_DwarvenKinship extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00168_DeliverSupplies/Q00168_DeliverSupplies.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00168_DeliverSupplies/Q00168_DeliverSupplies.java
index 4aa81cebe6..0a0fcc3afe 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00168_DeliverSupplies/Q00168_DeliverSupplies.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00168_DeliverSupplies/Q00168_DeliverSupplies.java
@@ -65,7 +65,7 @@ public class Q00168_DeliverSupplies extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30349-03.htm"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00169_OffspringOfNightmares/Q00169_OffspringOfNightmares.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00169_OffspringOfNightmares/Q00169_OffspringOfNightmares.java
index 3b442e0ea8..1ca17c3e1f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00169_OffspringOfNightmares/Q00169_OffspringOfNightmares.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00169_OffspringOfNightmares/Q00169_OffspringOfNightmares.java
@@ -57,7 +57,7 @@ public class Q00169_OffspringOfNightmares extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -90,7 +90,7 @@ public class Q00169_OffspringOfNightmares extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isStarted())
 		{
 			if ((getRandom(10) > 7) && !st.hasQuestItems(PERFECT_SKULL))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00170_DangerousSeduction/Q00170_DangerousSeduction.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00170_DangerousSeduction/Q00170_DangerousSeduction.java
index 3365067c95..a691d8d29f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00170_DangerousSeduction/Q00170_DangerousSeduction.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00170_DangerousSeduction/Q00170_DangerousSeduction.java
@@ -59,7 +59,7 @@ public class Q00170_DangerousSeduction extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -76,7 +76,7 @@ public class Q00170_DangerousSeduction extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1))
 		{
 			st.setCond(2, true);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00172_NewHorizons/Q00172_NewHorizons.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00172_NewHorizons/Q00172_NewHorizons.java
index f88190631c..b5aa6341ec 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00172_NewHorizons/Q00172_NewHorizons.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00172_NewHorizons/Q00172_NewHorizons.java
@@ -52,7 +52,7 @@ public class Q00172_NewHorizons extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00173_ToTheIsleOfSouls/Q00173_ToTheIsleOfSouls.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00173_ToTheIsleOfSouls/Q00173_ToTheIsleOfSouls.java
index 0bcf0ab787..e0e74e3134 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00173_ToTheIsleOfSouls/Q00173_ToTheIsleOfSouls.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00173_ToTheIsleOfSouls/Q00173_ToTheIsleOfSouls.java
@@ -55,7 +55,7 @@ public class Q00173_ToTheIsleOfSouls extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00174_SupplyCheck/Q00174_SupplyCheck.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00174_SupplyCheck/Q00174_SupplyCheck.java
index a8c2658094..5d982cbf62 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00174_SupplyCheck/Q00174_SupplyCheck.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00174_SupplyCheck/Q00174_SupplyCheck.java
@@ -63,7 +63,7 @@ public class Q00174_SupplyCheck extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00176_StepsForHonor/Q00176_StepsForHonor.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00176_StepsForHonor/Q00176_StepsForHonor.java
index db76628dac..e1b4b960ec 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00176_StepsForHonor/Q00176_StepsForHonor.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00176_StepsForHonor/Q00176_StepsForHonor.java
@@ -48,7 +48,7 @@ public class Q00176_StepsForHonor extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("36479-04.html"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00179_IntoTheLargeCavern/Q00179_IntoTheLargeCavern.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00179_IntoTheLargeCavern/Q00179_IntoTheLargeCavern.java
index ceef8ce604..1316f6e9e9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00179_IntoTheLargeCavern/Q00179_IntoTheLargeCavern.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00179_IntoTheLargeCavern/Q00179_IntoTheLargeCavern.java
@@ -47,7 +47,7 @@ public class Q00179_IntoTheLargeCavern extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00182_NewRecruits/Q00182_NewRecruits.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00182_NewRecruits/Q00182_NewRecruits.java
index 8eaea01e3e..c21a94d104 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00182_NewRecruits/Q00182_NewRecruits.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00182_NewRecruits/Q00182_NewRecruits.java
@@ -47,7 +47,7 @@ public class Q00182_NewRecruits extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00183_RelicExploration/Q00183_RelicExploration.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00183_RelicExploration/Q00183_RelicExploration.java
index 715a82aaf5..55a0235607 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00183_RelicExploration/Q00183_RelicExploration.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00183_RelicExploration/Q00183_RelicExploration.java
@@ -46,7 +46,7 @@ public final class Q00183_RelicExploration extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00186_ContractExecution/Q00186_ContractExecution.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00186_ContractExecution/Q00186_ContractExecution.java
index 505c1a2e71..11901646fa 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00186_ContractExecution/Q00186_ContractExecution.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00186_ContractExecution/Q00186_ContractExecution.java
@@ -66,7 +66,7 @@ public final class Q00186_ContractExecution extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -137,7 +137,7 @@ public final class Q00186_ContractExecution extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(2) && Util.checkIfInRange(1500, npc, killer, false))
 		{
 			if (!st.hasQuestItems(LETO_LIZARDMAN_ACCESSORY))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00187_NikolasHeart/Q00187_NikolasHeart.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00187_NikolasHeart/Q00187_NikolasHeart.java
index 707f46783e..a30af4639c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00187_NikolasHeart/Q00187_NikolasHeart.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00187_NikolasHeart/Q00187_NikolasHeart.java
@@ -52,7 +52,7 @@ public final class Q00187_NikolasHeart extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00188_SealRemoval/Q00188_SealRemoval.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00188_SealRemoval/Q00188_SealRemoval.java
index e71d658bbe..a5b3e1c357 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00188_SealRemoval/Q00188_SealRemoval.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00188_SealRemoval/Q00188_SealRemoval.java
@@ -55,7 +55,7 @@ public final class Q00188_SealRemoval extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00189_ContractCompletion/Q00189_ContractCompletion.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00189_ContractCompletion/Q00189_ContractCompletion.java
index aea7f3c631..f379238817 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00189_ContractCompletion/Q00189_ContractCompletion.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00189_ContractCompletion/Q00189_ContractCompletion.java
@@ -54,7 +54,7 @@ public final class Q00189_ContractCompletion extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00190_LostDream/Q00190_LostDream.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00190_LostDream/Q00190_LostDream.java
index 7180781b0e..a77f2e78d9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00190_LostDream/Q00190_LostDream.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00190_LostDream/Q00190_LostDream.java
@@ -51,7 +51,7 @@ public final class Q00190_LostDream extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00191_VainConclusion/Q00191_VainConclusion.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00191_VainConclusion/Q00191_VainConclusion.java
index e99b1cf374..5156cd376c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00191_VainConclusion/Q00191_VainConclusion.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00191_VainConclusion/Q00191_VainConclusion.java
@@ -54,7 +54,7 @@ public final class Q00191_VainConclusion extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00235_MimirsElixir/Q00235_MimirsElixir.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00235_MimirsElixir/Q00235_MimirsElixir.java
index f93062a4b8..662a92a6d8 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00235_MimirsElixir/Q00235_MimirsElixir.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00235_MimirsElixir/Q00235_MimirsElixir.java
@@ -74,7 +74,7 @@ public final class Q00235_MimirsElixir extends Quest
 	@Override
 	public boolean checkPartyMember(L2PcInstance member, L2Npc npc)
 	{
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		return ((st != null) && (st.isMemoState(3) || st.isMemoState(6)));
 	}
 	
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00237_WindsOfChange/Q00237_WindsOfChange.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00237_WindsOfChange/Q00237_WindsOfChange.java
index 7b481a3022..cdf4d74352 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00237_WindsOfChange/Q00237_WindsOfChange.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00237_WindsOfChange/Q00237_WindsOfChange.java
@@ -61,7 +61,7 @@ public class Q00237_WindsOfChange extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00238_SuccessFailureOfBusiness/Q00238_SuccessFailureOfBusiness.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00238_SuccessFailureOfBusiness/Q00238_SuccessFailureOfBusiness.java
index 57473cb429..1fa191a95b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00238_SuccessFailureOfBusiness/Q00238_SuccessFailureOfBusiness.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00238_SuccessFailureOfBusiness/Q00238_SuccessFailureOfBusiness.java
@@ -63,7 +63,7 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -98,7 +98,7 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
 			final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 			if (partyMember != null)
 			{
-				final QuestState st = partyMember.getQuestState(getName());
+				final QuestState st = getQuestState(partyMember, false);
 				if (st.getQuestItemsCount(BROKEN_PIECE_OF_MAGIC_FORCE) < BROKEN_PIECE_OF_MAGIC_FORCE_NEEDED)
 				{
 					st.giveItems(BROKEN_PIECE_OF_MAGIC_FORCE, 1);
@@ -118,7 +118,7 @@ public class Q00238_SuccessFailureOfBusiness extends Quest
 			final L2PcInstance partyMember = getRandomPartyMember(killer, 3);
 			if ((partyMember != null) && (getRandom(100) < CHANCE_FOR_FRAGMENT))
 			{
-				final QuestState st = partyMember.getQuestState(getName());
+				final QuestState st = getQuestState(partyMember, false);
 				if (st.getQuestItemsCount(GUARDIAN_SPIRIT_FRAGMENT) < GUARDIAN_SPIRIT_FRAGMENT_NEEDED)
 				{
 					st.giveItems(GUARDIAN_SPIRIT_FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00239_WontYouJoinUs/Q00239_WontYouJoinUs.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00239_WontYouJoinUs/Q00239_WontYouJoinUs.java
index ab5471d11e..ae935e3b6d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00239_WontYouJoinUs/Q00239_WontYouJoinUs.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00239_WontYouJoinUs/Q00239_WontYouJoinUs.java
@@ -63,7 +63,7 @@ public class Q00239_WontYouJoinUs extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -98,7 +98,7 @@ public class Q00239_WontYouJoinUs extends Quest
 			final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 			if (partyMember != null)
 			{
-				final QuestState st = partyMember.getQuestState(getName());
+				final QuestState st = getQuestState(partyMember, false);
 				if (st.getQuestItemsCount(DESTROYED_MACHINE_PIECE) < DESTROYED_MACHINE_PIECE_NEEDED)
 				{
 					st.giveItems(DESTROYED_MACHINE_PIECE, 1);
@@ -118,7 +118,7 @@ public class Q00239_WontYouJoinUs extends Quest
 			final L2PcInstance partyMember = getRandomPartyMember(killer, 3);
 			if ((partyMember != null) && (getRandom(100) < CHANCE_FOR_FRAGMENT))
 			{
-				final QuestState st = partyMember.getQuestState(getName());
+				final QuestState st = getQuestState(partyMember, false);
 				if (st.getQuestItemsCount(ENCHANTED_GOLEM_FRAGMENT) < ENCHANTED_GOLEM_FRAGMENT_NEEDED)
 				{
 					st.giveItems(ENCHANTED_GOLEM_FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00240_ImTheOnlyOneYouCanTrust/Q00240_ImTheOnlyOneYouCanTrust.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00240_ImTheOnlyOneYouCanTrust/Q00240_ImTheOnlyOneYouCanTrust.java
index 19a4cf177b..51f8927d83 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00240_ImTheOnlyOneYouCanTrust/Q00240_ImTheOnlyOneYouCanTrust.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00240_ImTheOnlyOneYouCanTrust/Q00240_ImTheOnlyOneYouCanTrust.java
@@ -69,7 +69,7 @@ public class Q00240_ImTheOnlyOneYouCanTrust extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -91,7 +91,7 @@ public class Q00240_ImTheOnlyOneYouCanTrust extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		st.giveItems(STAKATO_FANG, 1);
 		if (st.getQuestItemsCount(STAKATO_FANG) >= 25)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00241_PossessorOfAPreciousSoul1/Q00241_PossessorOfAPreciousSoul1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00241_PossessorOfAPreciousSoul1/Q00241_PossessorOfAPreciousSoul1.java
index a5d0b52afc..a32ccea613 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00241_PossessorOfAPreciousSoul1/Q00241_PossessorOfAPreciousSoul1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00241_PossessorOfAPreciousSoul1/Q00241_PossessorOfAPreciousSoul1.java
@@ -74,7 +74,7 @@ public class Q00241_PossessorOfAPreciousSoul1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -208,7 +208,7 @@ public class Q00241_PossessorOfAPreciousSoul1 extends Quest
 					return null;
 				}
 				
-				st = partyMember.getQuestState(getName());
+				st = getQuestState(partyMember, false);
 				st.giveItems(LEGEND_OF_SEVENTEEN, 1);
 				st.setCond(4, true);
 				break;
@@ -221,7 +221,7 @@ public class Q00241_PossessorOfAPreciousSoul1 extends Quest
 				{
 					return null;
 				}
-				st = partyMember.getQuestState(getName());
+				st = getQuestState(partyMember, false);
 				if ((MALRUK_SUCCUBUS_CLAW_CHANCE >= getRandom(100)) && (st.getQuestItemsCount(MALRUK_SUCCUBUS_CLAW) < 10))
 				{
 					st.giveItems(MALRUK_SUCCUBUS_CLAW, 1);
@@ -241,7 +241,7 @@ public class Q00241_PossessorOfAPreciousSoul1 extends Quest
 				{
 					return null;
 				}
-				st = partyMember.getQuestState(getName());
+				st = getQuestState(partyMember, false);
 				if ((CRIMSON_MOSS_CHANCE >= getRandom(100)) && (st.getQuestItemsCount(CRIMSON_MOSS) < 5))
 				{
 					st.giveItems(CRIMSON_MOSS, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00242_PossessorOfAPreciousSoul2/Q00242_PossessorOfAPreciousSoul2.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00242_PossessorOfAPreciousSoul2/Q00242_PossessorOfAPreciousSoul2.java
index 4faf49f27a..5698d77032 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00242_PossessorOfAPreciousSoul2/Q00242_PossessorOfAPreciousSoul2.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00242_PossessorOfAPreciousSoul2/Q00242_PossessorOfAPreciousSoul2.java
@@ -68,7 +68,7 @@ public class Q00242_PossessorOfAPreciousSoul2 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -147,7 +147,7 @@ public class Q00242_PossessorOfAPreciousSoul2 extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		if (st.isCond(9) && (st.getQuestItemsCount(ORB_OF_BINDING) < 4))
 		{
 			st.giveItems(ORB_OF_BINDING, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00246_PossessorOfAPreciousSoul3/Q00246_PossessorOfAPreciousSoul3.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00246_PossessorOfAPreciousSoul3/Q00246_PossessorOfAPreciousSoul3.java
index 88205a9c57..58b7b0827e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00246_PossessorOfAPreciousSoul3/Q00246_PossessorOfAPreciousSoul3.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00246_PossessorOfAPreciousSoul3/Q00246_PossessorOfAPreciousSoul3.java
@@ -76,7 +76,7 @@ public class Q00246_PossessorOfAPreciousSoul3 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -148,7 +148,7 @@ public class Q00246_PossessorOfAPreciousSoul3 extends Quest
 				partyMember = getRandomPartyMember(player, "awaitsWaterbinder", "1");
 				if (partyMember != null)
 				{
-					st = partyMember.getQuestState(getName());
+					st = getQuestState(partyMember, false);
 					final int chance = getRandom(100);
 					if (st.isCond(2) && !st.hasQuestItems(WATERBINDER))
 					{
@@ -173,7 +173,7 @@ public class Q00246_PossessorOfAPreciousSoul3 extends Quest
 				partyMember = getRandomPartyMember(player, "awaitsEvergreen", "1");
 				if (partyMember != null)
 				{
-					st = partyMember.getQuestState(getName());
+					st = getQuestState(partyMember, false);
 					final long chance = getRandom(100);
 					if (st.isCond(2) && !st.hasQuestItems(EVERGREEN))
 					{
@@ -199,7 +199,7 @@ public class Q00246_PossessorOfAPreciousSoul3 extends Quest
 				{
 					for (L2PcInstance member : player.getParty().getMembers())
 					{
-						pst = member.getQuestState(getName());
+						pst = getQuestState(member, false);
 						if (pst != null)
 						{
 							if (pst.isCond(4) && !pst.hasQuestItems(RAIN_SONG))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00247_PossessorOfAPreciousSoul4/Q00247_PossessorOfAPreciousSoul4.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00247_PossessorOfAPreciousSoul4/Q00247_PossessorOfAPreciousSoul4.java
index 115dc6b0b3..cbae84d7f1 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00247_PossessorOfAPreciousSoul4/Q00247_PossessorOfAPreciousSoul4.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00247_PossessorOfAPreciousSoul4/Q00247_PossessorOfAPreciousSoul4.java
@@ -57,7 +57,7 @@ public class Q00247_PossessorOfAPreciousSoul4 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/Q00249_PoisonedPlainsOfTheLizardmen.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/Q00249_PoisonedPlainsOfTheLizardmen.java
index 574197c307..b7d70a3eab 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/Q00249_PoisonedPlainsOfTheLizardmen.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00249_PoisonedPlainsOfTheLizardmen/Q00249_PoisonedPlainsOfTheLizardmen.java
@@ -46,7 +46,7 @@ public class Q00249_PoisonedPlainsOfTheLizardmen extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/Q00250_WatchWhatYouEat.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/Q00250_WatchWhatYouEat.java
index 674be6c11d..981b0bdf82 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/Q00250_WatchWhatYouEat.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00250_WatchWhatYouEat/Q00250_WatchWhatYouEat.java
@@ -68,7 +68,7 @@ public class Q00250_WatchWhatYouEat extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -98,12 +98,6 @@ public class Q00250_WatchWhatYouEat extends Quest
 	@Override
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			newQuestState(player);
-		}
-		
 		if (npc.getId() == SALLY)
 		{
 			return "32743-20.html";
@@ -115,7 +109,7 @@ public class Q00250_WatchWhatYouEat extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00251_NoSecrets/Q00251_NoSecrets.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00251_NoSecrets/Q00251_NoSecrets.java
index f75f55c6c4..d90f08749f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00251_NoSecrets/Q00251_NoSecrets.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00251_NoSecrets/Q00251_NoSecrets.java
@@ -65,7 +65,7 @@ public class Q00251_NoSecrets extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -81,7 +81,7 @@ public class Q00251_NoSecrets extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isStarted() && st.isCond(1))
 		{
 			final int npcId = npc.getId();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00254_LegendaryTales/Q00254_LegendaryTales.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00254_LegendaryTales/Q00254_LegendaryTales.java
index 17537f737b..6100367f9e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00254_LegendaryTales/Q00254_LegendaryTales.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00254_LegendaryTales/Q00254_LegendaryTales.java
@@ -138,7 +138,7 @@ public class Q00254_LegendaryTales extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = getNoQuestMsg(player);
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00257_TheGuardIsBusy/Q00257_TheGuardIsBusy.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00257_TheGuardIsBusy/Q00257_TheGuardIsBusy.java
index a27ecf61e3..b7ea724338 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00257_TheGuardIsBusy/Q00257_TheGuardIsBusy.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00257_TheGuardIsBusy/Q00257_TheGuardIsBusy.java
@@ -94,7 +94,7 @@ public final class Q00257_TheGuardIsBusy extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -128,7 +128,7 @@ public final class Q00257_TheGuardIsBusy extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return super.onKill(npc, killer, isSummon);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00258_BringWolfPelts/Q00258_BringWolfPelts.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00258_BringWolfPelts/Q00258_BringWolfPelts.java
index a7085fd54a..48dbaf07a5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00258_BringWolfPelts/Q00258_BringWolfPelts.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00258_BringWolfPelts/Q00258_BringWolfPelts.java
@@ -70,7 +70,7 @@ public final class Q00258_BringWolfPelts extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30001-03.html"))
 		{
 			st.startQuest();
@@ -82,7 +82,7 @@ public final class Q00258_BringWolfPelts extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			st.giveItems(WOLF_PELT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00259_RequestFromTheFarmOwner/Q00259_RequestFromTheFarmOwner.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00259_RequestFromTheFarmOwner/Q00259_RequestFromTheFarmOwner.java
index e9b730e8ef..82d24c44b0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00259_RequestFromTheFarmOwner/Q00259_RequestFromTheFarmOwner.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00259_RequestFromTheFarmOwner/Q00259_RequestFromTheFarmOwner.java
@@ -73,7 +73,7 @@ public final class Q00259_RequestFromTheFarmOwner extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -127,7 +127,7 @@ public final class Q00259_RequestFromTheFarmOwner extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if (st != null)
 		{
 			st.giveItems(SPIDER_SKIN, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00260_OrcHunting/Q00260_OrcHunting.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00260_OrcHunting/Q00260_OrcHunting.java
index d859406202..a7154736dd 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00260_OrcHunting/Q00260_OrcHunting.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00260_OrcHunting/Q00260_OrcHunting.java
@@ -68,7 +68,7 @@ public final class Q00260_OrcHunting extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -101,7 +101,7 @@ public final class Q00260_OrcHunting extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (getRandom(10) > 4))
 		{
 			st.giveItems(MONSTERS.get(npc.getId()), 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00261_CollectorsDream/Q00261_CollectorsDream.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00261_CollectorsDream/Q00261_CollectorsDream.java
index 25991e3328..7baf396556 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00261_CollectorsDream/Q00261_CollectorsDream.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00261_CollectorsDream/Q00261_CollectorsDream.java
@@ -63,7 +63,7 @@ public final class Q00261_CollectorsDream extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30222-03.htm"))
 		{
 			st.startQuest();
@@ -75,7 +75,7 @@ public final class Q00261_CollectorsDream extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, true))
 		{
 			if (st.giveItemRandomly(SPIDER_LEG, 1, MAX_LEG_COUNT, 1, true))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00262_TradeWithTheIvoryTower/Q00262_TradeWithTheIvoryTower.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00262_TradeWithTheIvoryTower/Q00262_TradeWithTheIvoryTower.java
index 4eadabcf3a..00da68af58 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00262_TradeWithTheIvoryTower/Q00262_TradeWithTheIvoryTower.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00262_TradeWithTheIvoryTower/Q00262_TradeWithTheIvoryTower.java
@@ -63,7 +63,7 @@ public final class Q00262_TradeWithTheIvoryTower extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30137-03.htm"))
 		{
 			st.startQuest();
@@ -81,7 +81,7 @@ public final class Q00262_TradeWithTheIvoryTower extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		float chance = (MOBS_SAC.get(npc.getId()) * Config.RATE_QUEST_DROP);
 		if (getRandom(10) < chance)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00263_OrcSubjugation/Q00263_OrcSubjugation.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00263_OrcSubjugation/Q00263_OrcSubjugation.java
index 626eb79f61..40c6f98210 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00263_OrcSubjugation/Q00263_OrcSubjugation.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00263_OrcSubjugation/Q00263_OrcSubjugation.java
@@ -64,7 +64,7 @@ public final class Q00263_OrcSubjugation extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -97,7 +97,7 @@ public final class Q00263_OrcSubjugation extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (getRandom(10) > 4))
 		{
 			st.giveItems(MONSTERS.get(npc.getId()), 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00264_KeenClaws/Q00264_KeenClaws.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00264_KeenClaws/Q00264_KeenClaws.java
index e01e13e988..bab2243f29 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00264_KeenClaws/Q00264_KeenClaws.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00264_KeenClaws/Q00264_KeenClaws.java
@@ -74,7 +74,7 @@ public final class Q00264_KeenClaws extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30136-03.htm"))
 		{
 			st.startQuest();
@@ -86,7 +86,7 @@ public final class Q00264_KeenClaws extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			final int random = getRandom(100);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00265_BondsOfSlavery/Q00265_BondsOfSlavery.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00265_BondsOfSlavery/Q00265_BondsOfSlavery.java
index 30b9d646d1..d0b207ca20 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00265_BondsOfSlavery/Q00265_BondsOfSlavery.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00265_BondsOfSlavery/Q00265_BondsOfSlavery.java
@@ -63,7 +63,7 @@ public final class Q00265_BondsOfSlavery extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -96,7 +96,7 @@ public final class Q00265_BondsOfSlavery extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (getRandom(10) < MONSTERS.get(npc.getId())))
 		{
 			st.giveItems(IMP_SHACKLES, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00266_PleasOfPixies/Q00266_PleasOfPixies.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00266_PleasOfPixies/Q00266_PleasOfPixies.java
index a50968c8b0..71e3cbb164 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00266_PleasOfPixies/Q00266_PleasOfPixies.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00266_PleasOfPixies/Q00266_PleasOfPixies.java
@@ -75,7 +75,7 @@ public final class Q00266_PleasOfPixies extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("31852-04.htm"))
 		{
 			st.startQuest();
@@ -87,7 +87,7 @@ public final class Q00266_PleasOfPixies extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			final int chance = getRandom(10);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00267_WrathOfVerdure/Q00267_WrathOfVerdure.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00267_WrathOfVerdure/Q00267_WrathOfVerdure.java
index 8b26348419..3cbf46298f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00267_WrathOfVerdure/Q00267_WrathOfVerdure.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00267_WrathOfVerdure/Q00267_WrathOfVerdure.java
@@ -55,7 +55,7 @@ public final class Q00267_WrathOfVerdure extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -86,7 +86,7 @@ public final class Q00267_WrathOfVerdure extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (getRandom(10) < 5))
 		{
 			st.giveItems(GOBLIN_CLUB, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00268_TracesOfEvil/Q00268_TracesOfEvil.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00268_TracesOfEvil/Q00268_TracesOfEvil.java
index c2611e6889..6e3ca5acad 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00268_TracesOfEvil/Q00268_TracesOfEvil.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00268_TracesOfEvil/Q00268_TracesOfEvil.java
@@ -57,7 +57,7 @@ public final class Q00268_TracesOfEvil extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30559-03.htm"))
 		{
 			st.startQuest();
@@ -69,7 +69,7 @@ public final class Q00268_TracesOfEvil extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			st.giveItems(CONTAMINATED_KASHA_SPIDER_VENOM, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00269_InventionAmbition/Q00269_InventionAmbition.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00269_InventionAmbition/Q00269_InventionAmbition.java
index 3b1e5f7910..1066129ca1 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00269_InventionAmbition/Q00269_InventionAmbition.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00269_InventionAmbition/Q00269_InventionAmbition.java
@@ -66,7 +66,7 @@ public final class Q00269_InventionAmbition extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -102,7 +102,7 @@ public final class Q00269_InventionAmbition extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (getRandom(100) < MONSTERS.get(npc.getId())))
 		{
 			st.giveItems(ENERGY_ORE, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00270_TheOneWhoEndsSilence/Q00270_TheOneWhoEndsSilence.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00270_TheOneWhoEndsSilence/Q00270_TheOneWhoEndsSilence.java
index 233c932464..6e93d5c9a4 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00270_TheOneWhoEndsSilence/Q00270_TheOneWhoEndsSilence.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00270_TheOneWhoEndsSilence/Q00270_TheOneWhoEndsSilence.java
@@ -64,7 +64,7 @@ public class Q00270_TheOneWhoEndsSilence extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00271_ProofOfValor/Q00271_ProofOfValor.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00271_ProofOfValor/Q00271_ProofOfValor.java
index 3f4c348aef..3208af2d72 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00271_ProofOfValor/Q00271_ProofOfValor.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00271_ProofOfValor/Q00271_ProofOfValor.java
@@ -57,7 +57,7 @@ public final class Q00271_ProofOfValor extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30577-04.htm"))
 		{
 			st.startQuest();
@@ -69,7 +69,7 @@ public final class Q00271_ProofOfValor extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			final long count = st.getQuestItemsCount(KASHA_WOLF_FANG);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00272_WrathOfAncestors/Q00272_WrathOfAncestors.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00272_WrathOfAncestors/Q00272_WrathOfAncestors.java
index 5a5ca1be19..200e47e425 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00272_WrathOfAncestors/Q00272_WrathOfAncestors.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00272_WrathOfAncestors/Q00272_WrathOfAncestors.java
@@ -57,7 +57,7 @@ public final class Q00272_WrathOfAncestors extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30572-04.htm"))
 		{
 			st.startQuest();
@@ -69,7 +69,7 @@ public final class Q00272_WrathOfAncestors extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			st.giveItems(GRAVE_ROBBERS_HEAD, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00273_InvadersOfTheHolyLand/Q00273_InvadersOfTheHolyLand.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00273_InvadersOfTheHolyLand/Q00273_InvadersOfTheHolyLand.java
index e7cefa51d9..0686a6b524 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00273_InvadersOfTheHolyLand/Q00273_InvadersOfTheHolyLand.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00273_InvadersOfTheHolyLand/Q00273_InvadersOfTheHolyLand.java
@@ -65,7 +65,7 @@ public final class Q00273_InvadersOfTheHolyLand extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -96,7 +96,7 @@ public final class Q00273_InvadersOfTheHolyLand extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if (st != null)
 		{
 			if (getRandom(100) <= MONSTERS.get(npc.getId()))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00274_SkirmishWithTheWerewolves/Q00274_SkirmishWithTheWerewolves.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00274_SkirmishWithTheWerewolves/Q00274_SkirmishWithTheWerewolves.java
index 3e897d5b95..27cd69e3df 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00274_SkirmishWithTheWerewolves/Q00274_SkirmishWithTheWerewolves.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00274_SkirmishWithTheWerewolves/Q00274_SkirmishWithTheWerewolves.java
@@ -60,7 +60,7 @@ public final class Q00274_SkirmishWithTheWerewolves extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30569-04.htm"))
 		{
 			st.startQuest();
@@ -72,7 +72,7 @@ public final class Q00274_SkirmishWithTheWerewolves extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			st.giveItems(WEREWOLF_HEAD, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java
index 14904a36bc..39e0386dec 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java
@@ -61,7 +61,7 @@ public final class Q00275_DarkWingedSpies extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30567-03.htm"))
 		{
 			st.startQuest();
@@ -73,7 +73,7 @@ public final class Q00275_DarkWingedSpies extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, true))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00276_TotemOfTheHestui/Q00276_TotemOfTheHestui.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00276_TotemOfTheHestui/Q00276_TotemOfTheHestui.java
index 2a3169815e..de09d69db7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00276_TotemOfTheHestui/Q00276_TotemOfTheHestui.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00276_TotemOfTheHestui/Q00276_TotemOfTheHestui.java
@@ -77,7 +77,7 @@ public final class Q00276_TotemOfTheHestui extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30571-03.htm"))
 		{
 			st.startQuest();
@@ -89,7 +89,7 @@ public final class Q00276_TotemOfTheHestui extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, killer, npc, true))
 		{
 			switch (npc.getId())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00277_GatekeepersOffering/Q00277_GatekeepersOffering.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00277_GatekeepersOffering/Q00277_GatekeepersOffering.java
index 250a6fe47b..41d5b4a6b7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00277_GatekeepersOffering/Q00277_GatekeepersOffering.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00277_GatekeepersOffering/Q00277_GatekeepersOffering.java
@@ -54,7 +54,7 @@ public class Q00277_GatekeepersOffering extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30576-03.htm"))
 		{
 			if (player.getLevel() < MIN_LEVEL)
@@ -70,7 +70,7 @@ public class Q00277_GatekeepersOffering extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isStarted() && (st.getQuestItemsCount(STARSTONE) < STARSTONE_COUT))
 		{
 			st.giveItems(STARSTONE, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00278_HomeSecurity/Q00278_HomeSecurity.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00278_HomeSecurity/Q00278_HomeSecurity.java
index 5643fc9fcf..6e6743ec94 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00278_HomeSecurity/Q00278_HomeSecurity.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00278_HomeSecurity/Q00278_HomeSecurity.java
@@ -55,7 +55,7 @@ public class Q00278_HomeSecurity extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00279_TargetOfOpportunity/Q00279_TargetOfOpportunity.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00279_TargetOfOpportunity/Q00279_TargetOfOpportunity.java
index 6e6edfd827..e32b990565 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00279_TargetOfOpportunity/Q00279_TargetOfOpportunity.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00279_TargetOfOpportunity/Q00279_TargetOfOpportunity.java
@@ -70,7 +70,7 @@ public final class Q00279_TargetOfOpportunity extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st == null) || (player.getLevel() < 82))
 		{
 			return getNoQuestMsg(player);
@@ -100,7 +100,7 @@ public final class Q00279_TargetOfOpportunity extends Quest
 			return null;
 		}
 		
-		final QuestState st = pl.getQuestState(getName());
+		final QuestState st = getQuestState(pl, false);
 		if (getRandom(1000) < (int) (311 * Config.RATE_QUEST_DROP))
 		{
 			if (!st.hasQuestItems(SEAL_COMPONENTS[idx]))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00280_TheFoodChain/Q00280_TheFoodChain.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00280_TheFoodChain/Q00280_TheFoodChain.java
index 8a88566fb3..76c93c4dec 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00280_TheFoodChain/Q00280_TheFoodChain.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00280_TheFoodChain/Q00280_TheFoodChain.java
@@ -83,7 +83,7 @@ public final class Q00280_TheFoodChain extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -155,7 +155,7 @@ public final class Q00280_TheFoodChain extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, killer, true))
 		{
 			final int chance = getRandom(1000);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00281_HeadForTheHills/Q00281_HeadForTheHills.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00281_HeadForTheHills/Q00281_HeadForTheHills.java
index b777b3d4b0..84d4eb2df7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00281_HeadForTheHills/Q00281_HeadForTheHills.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00281_HeadForTheHills/Q00281_HeadForTheHills.java
@@ -87,7 +87,7 @@ public final class Q00281_HeadForTheHills extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -158,7 +158,7 @@ public final class Q00281_HeadForTheHills extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && (getRandom(1000) <= MONSTERS.get(npc.getId())))
 		{
 			st.giveItems(CLAWS, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00283_TheFewTheProudTheBrave/Q00283_TheFewTheProudTheBrave.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00283_TheFewTheProudTheBrave/Q00283_TheFewTheProudTheBrave.java
index 8ec9acc602..56df67d45f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00283_TheFewTheProudTheBrave/Q00283_TheFewTheProudTheBrave.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00283_TheFewTheProudTheBrave/Q00283_TheFewTheProudTheBrave.java
@@ -55,7 +55,7 @@ public final class Q00283_TheFewTheProudTheBrave extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00287_FiguringItOut/Q00287_FiguringItOut.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00287_FiguringItOut/Q00287_FiguringItOut.java
index ebeb556112..b19876fd4b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00287_FiguringItOut/Q00287_FiguringItOut.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00287_FiguringItOut/Q00287_FiguringItOut.java
@@ -99,7 +99,7 @@ public class Q00287_FiguringItOut extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -168,7 +168,7 @@ public class Q00287_FiguringItOut extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		if (getRandom(1000) < MONSTERS.get(npc.getId()))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00288_HandleWithCare/Q00288_HandleWithCare.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00288_HandleWithCare/Q00288_HandleWithCare.java
index ad56d0104a..1a1ad2e73b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00288_HandleWithCare/Q00288_HandleWithCare.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00288_HandleWithCare/Q00288_HandleWithCare.java
@@ -67,7 +67,7 @@ public class Q00288_HandleWithCare extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -165,7 +165,7 @@ public class Q00288_HandleWithCare extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		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))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/Q00289_NoMoreSoupForYou.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/Q00289_NoMoreSoupForYou.java
index 9d80f19b44..029a05b38d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/Q00289_NoMoreSoupForYou.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00289_NoMoreSoupForYou/Q00289_NoMoreSoupForYou.java
@@ -170,7 +170,7 @@ public class Q00289_NoMoreSoupForYou extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
@@ -219,7 +219,7 @@ public class Q00289_NoMoreSoupForYou extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		int npcId = npc.getId();
 		if ((st == null) || (st.getState() != State.STARTED))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java
index 743156d655..2067b99058 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00290_ThreatRemoval/Q00290_ThreatRemoval.java
@@ -75,7 +75,7 @@ public class Q00290_ThreatRemoval extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -183,7 +183,7 @@ public class Q00290_ThreatRemoval extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		int npcId = npc.getId();
 		float chance = (MOBS_TAG.get(npcId) * Config.RATE_QUEST_DROP);
 		if (getRandom(1000) < chance)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00293_TheHiddenVeins/Q00293_TheHiddenVeins.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00293_TheHiddenVeins/Q00293_TheHiddenVeins.java
index d57e5e2418..60bd6aac87 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00293_TheHiddenVeins/Q00293_TheHiddenVeins.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00293_TheHiddenVeins/Q00293_TheHiddenVeins.java
@@ -64,7 +64,7 @@ public final class Q00293_TheHiddenVeins extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -110,7 +110,7 @@ public final class Q00293_TheHiddenVeins extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if (st != null)
 		{
 			final int chance = getRandom(100);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00297_GatekeepersFavor/Q00297_GatekeepersFavor.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00297_GatekeepersFavor/Q00297_GatekeepersFavor.java
index c85eb898bb..2d7b79dc39 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00297_GatekeepersFavor/Q00297_GatekeepersFavor.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00297_GatekeepersFavor/Q00297_GatekeepersFavor.java
@@ -54,7 +54,7 @@ public class Q00297_GatekeepersFavor extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equalsIgnoreCase("30540-03.htm"))
 		{
 			if (player.getLevel() < MIN_LEVEL)
@@ -70,7 +70,7 @@ public class Q00297_GatekeepersFavor extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isStarted() && (st.getQuestItemsCount(STARSTONE) < STARSTONE_COUT))
 		{
 			st.giveItems(STARSTONE, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00300_HuntingLetoLizardman/Q00300_HuntingLetoLizardman.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00300_HuntingLetoLizardman/Q00300_HuntingLetoLizardman.java
index 3ab35f7e29..e6eae20732 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00300_HuntingLetoLizardman/Q00300_HuntingLetoLizardman.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00300_HuntingLetoLizardman/Q00300_HuntingLetoLizardman.java
@@ -70,7 +70,7 @@ public final class Q00300_HuntingLetoLizardman extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -124,7 +124,7 @@ public final class Q00300_HuntingLetoLizardman extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(player, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			if (st.isCond(1) && (getRandom(1000) < MOBS_SAC.get(npc.getId())))
 			{
 				st.giveItems(BRACELET_OF_LIZARDMAN, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00303_CollectArrowheads/Q00303_CollectArrowheads.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00303_CollectArrowheads/Q00303_CollectArrowheads.java
index bc7a26acde..3412c7d6de 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00303_CollectArrowheads/Q00303_CollectArrowheads.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00303_CollectArrowheads/Q00303_CollectArrowheads.java
@@ -52,7 +52,7 @@ public final class Q00303_CollectArrowheads extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30029-04.htm"))
 		{
 			st.startQuest();
@@ -67,7 +67,7 @@ public final class Q00303_CollectArrowheads extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(player, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			if (st.giveItemRandomly(npc, ORCISH_ARROWHEAD, 1, REQUIRED_ITEM_COUNT, 0.4, true))
 			{
 				st.setCond(2);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00306_CrystalOfFireAndIce/Q00306_CrystalOfFireAndIce.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00306_CrystalOfFireAndIce/Q00306_CrystalOfFireAndIce.java
index bb547a9013..2332091a0d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00306_CrystalOfFireAndIce/Q00306_CrystalOfFireAndIce.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00306_CrystalOfFireAndIce/Q00306_CrystalOfFireAndIce.java
@@ -67,7 +67,7 @@ public final class Q00306_CrystalOfFireAndIce extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -105,7 +105,7 @@ public final class Q00306_CrystalOfFireAndIce extends Quest
 		final QuestState qs;
 		if (npc.getId() == UNDINE_NOBLE) // Undine Noble gives quest drops only for the killer
 		{
-			qs = killer.getQuestState(getName());
+			qs = getQuestState(killer, false);
 			if ((qs != null) && qs.isStarted())
 			{
 				giveKillReward(killer, npc);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00307_ControlDeviceOfTheGiants/Q00307_ControlDeviceOfTheGiants.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00307_ControlDeviceOfTheGiants/Q00307_ControlDeviceOfTheGiants.java
index b6f05b22e7..74940e08cc 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00307_ControlDeviceOfTheGiants/Q00307_ControlDeviceOfTheGiants.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00307_ControlDeviceOfTheGiants/Q00307_ControlDeviceOfTheGiants.java
@@ -59,7 +59,7 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -124,7 +124,7 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		switch (npc.getId())
 		{
@@ -152,7 +152,7 @@ public class Q00307_ControlDeviceOfTheGiants extends Quest
 				{
 					for (L2PcInstance pl : player.getParty().getMembers())
 					{
-						final QuestState qs = pl.getQuestState(getName());
+						final QuestState qs = getQuestState(pl, false);
 						
 						if ((qs != null) && qs.isCond(1))
 						{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java
index 351cf4b7cc..762a8317f5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00308_ReedFieldMaintenance/Q00308_ReedFieldMaintenance.java
@@ -130,7 +130,7 @@ public class Q00308_ReedFieldMaintenance extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -217,7 +217,7 @@ public class Q00308_ReedFieldMaintenance extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			float chance = (MUCROKIAN.get(npc.getId()) * Config.RATE_QUEST_DROP);
 			if (getRandom(1000) < chance)
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java
index 3a443ce40e..47a52ba2d0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00309_ForAGoodCause/Q00309_ForAGoodCause.java
@@ -130,7 +130,7 @@ public class Q00309_ForAGoodCause extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -219,7 +219,7 @@ public class Q00309_ForAGoodCause extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			float chance = (MUCROKIANS.get(npc.getId()) * Config.RATE_QUEST_DROP);
 			if (getRandom(1000) < chance)
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00310_OnlyWhatRemains/Q00310_OnlyWhatRemains.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00310_OnlyWhatRemains/Q00310_OnlyWhatRemains.java
index 30cbd4a555..833adf9742 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00310_OnlyWhatRemains/Q00310_OnlyWhatRemains.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00310_OnlyWhatRemains/Q00310_OnlyWhatRemains.java
@@ -79,7 +79,7 @@ public class Q00310_OnlyWhatRemains extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -118,7 +118,7 @@ public class Q00310_OnlyWhatRemains extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		if (getRandom(1000) < MOBS.get(npc.getId()))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/Q00312_TakeAdvantageOfTheCrisis.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/Q00312_TakeAdvantageOfTheCrisis.java
index 2d86999a6b..3c83678f59 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/Q00312_TakeAdvantageOfTheCrisis.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00312_TakeAdvantageOfTheCrisis/Q00312_TakeAdvantageOfTheCrisis.java
@@ -71,7 +71,7 @@ public class Q00312_TakeAdvantageOfTheCrisis extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -106,7 +106,7 @@ public class Q00312_TakeAdvantageOfTheCrisis extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 1);
 		if ((member != null) && (getRandom(1000) < MOBS.get(npc.getId())))
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			st.giveItems(MINERAL_FRAGMENT, 1);
 			st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
 		}
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00313_CollectSpores/Q00313_CollectSpores.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00313_CollectSpores/Q00313_CollectSpores.java
index 8be709859a..37d352c926 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00313_CollectSpores/Q00313_CollectSpores.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00313_CollectSpores/Q00313_CollectSpores.java
@@ -53,7 +53,7 @@ public final class Q00313_CollectSpores extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -82,7 +82,7 @@ public final class Q00313_CollectSpores extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, killer, false))
 		{
 			if (st.giveItemRandomly(npc, SPORE_SAC, 1, REQUIRED_SAC_COUNT, 0.4, true))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00319_ScentOfDeath/Q00319_ScentOfDeath.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00319_ScentOfDeath/Q00319_ScentOfDeath.java
index 5ec38e6a47..a561bf58c7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00319_ScentOfDeath/Q00319_ScentOfDeath.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00319_ScentOfDeath/Q00319_ScentOfDeath.java
@@ -58,7 +58,7 @@ public class Q00319_ScentOfDeath extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -83,7 +83,7 @@ public class Q00319_ScentOfDeath extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, killer, false) && (st.getQuestItemsCount(ZOMBIES_SKIN) < REQUIRED_ITEM_COUNT))
 		{
 			if (getRandom(10) > MIN_CHANCE)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java
index 738cb7a805..c009231db9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00320_BonesTellTheFuture/Q00320_BonesTellTheFuture.java
@@ -58,7 +58,7 @@ public final class Q00320_BonesTellTheFuture extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && event.equals("30359-04.htm"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00324_SweetestVenom/Q00324_SweetestVenom.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00324_SweetestVenom/Q00324_SweetestVenom.java
index 0453e1d43c..fd04df047b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00324_SweetestVenom/Q00324_SweetestVenom.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00324_SweetestVenom/Q00324_SweetestVenom.java
@@ -63,7 +63,7 @@ public class Q00324_SweetestVenom extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -112,7 +112,7 @@ public class Q00324_SweetestVenom extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1))
 		{
 			long sacs = st.getQuestItemsCount(VENOM_SAC);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java
index b5222be272..b5d52c1511 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00325_GrimCollector/Q00325_GrimCollector.java
@@ -82,7 +82,7 @@ public final class Q00325_GrimCollector extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -192,7 +192,7 @@ public final class Q00325_GrimCollector extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState qs = killer.getQuestState(getName());
+		final QuestState qs = getQuestState(killer, false);
 		
 		if ((qs == null) || !qs.isStarted())
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00326_VanquishRemnants/Q00326_VanquishRemnants.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00326_VanquishRemnants/Q00326_VanquishRemnants.java
index 5ed28e7735..ca527704f6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00326_VanquishRemnants/Q00326_VanquishRemnants.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00326_VanquishRemnants/Q00326_VanquishRemnants.java
@@ -72,7 +72,7 @@ public final class Q00326_VanquishRemnants extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -103,7 +103,7 @@ public final class Q00326_VanquishRemnants extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isStarted() && (getRandom(100) < MONSTERS.get(npc.getId())[0]))
 		{
 			st.giveItems(MONSTERS.get(npc.getId())[1], 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00328_SenseForBusiness/Q00328_SenseForBusiness.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00328_SenseForBusiness/Q00328_SenseForBusiness.java
index 46c2b872b7..913720b7a0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00328_SenseForBusiness/Q00328_SenseForBusiness.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00328_SenseForBusiness/Q00328_SenseForBusiness.java
@@ -74,7 +74,7 @@ public class Q00328_SenseForBusiness extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -136,7 +136,7 @@ public class Q00328_SenseForBusiness extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isStarted())
 		{
 			final int chance = getRandom(100);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/Q00329_CuriosityOfADwarf.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/Q00329_CuriosityOfADwarf.java
index c3c7623dbb..99c56be44e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/Q00329_CuriosityOfADwarf.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00329_CuriosityOfADwarf/Q00329_CuriosityOfADwarf.java
@@ -64,7 +64,7 @@ public final class Q00329_CuriosityOfADwarf extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -100,7 +100,7 @@ public final class Q00329_CuriosityOfADwarf extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, killer, true))
 		{
 			final int rnd = getRandom(100);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/Q00331_ArrowOfVengeance.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/Q00331_ArrowOfVengeance.java
index 273f36920b..563bc26747 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/Q00331_ArrowOfVengeance.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00331_ArrowOfVengeance/Q00331_ArrowOfVengeance.java
@@ -68,7 +68,7 @@ public class Q00331_ArrowOfVengeance extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -135,7 +135,7 @@ public class Q00331_ArrowOfVengeance extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st != null)
 		{
 			if (getRandom(100) < MONSTERS.get(npc.getId()))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00338_AlligatorHunter/Q00338_AlligatorHunter.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00338_AlligatorHunter/Q00338_AlligatorHunter.java
index 31b8087425..7dc780b0a5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00338_AlligatorHunter/Q00338_AlligatorHunter.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00338_AlligatorHunter/Q00338_AlligatorHunter.java
@@ -57,7 +57,7 @@ public class Q00338_AlligatorHunter extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -96,7 +96,7 @@ public class Q00338_AlligatorHunter extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st != null)
 		{
 			st.giveItems(ALLIGATOR_LEATHER, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/Q00341_HuntingForWildBeasts.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/Q00341_HuntingForWildBeasts.java
index 2f02bec4a3..a9da303418 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/Q00341_HuntingForWildBeasts.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00341_HuntingForWildBeasts/Q00341_HuntingForWildBeasts.java
@@ -64,7 +64,7 @@ public class Q00341_HuntingForWildBeasts extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -89,7 +89,7 @@ public class Q00341_HuntingForWildBeasts extends Quest
 	@Override
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = getNoQuestMsg(player);
 		if (st != null)
 		{
@@ -122,7 +122,7 @@ public class Q00341_HuntingForWildBeasts extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isPet)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1))
 		{
 			long skins = st.getQuestItemsCount(BEAR_SKIN);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00350_EnhanceYourWeapon/Q00350_EnhanceYourWeapon.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00350_EnhanceYourWeapon/Q00350_EnhanceYourWeapon.java
index 830fa6ae3b..cfb977179d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00350_EnhanceYourWeapon/Q00350_EnhanceYourWeapon.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00350_EnhanceYourWeapon/Q00350_EnhanceYourWeapon.java
@@ -152,7 +152,7 @@ public class Q00350_EnhanceYourWeapon extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (event.endsWith("-04.htm"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/Q00354_ConquestOfAlligatorIsland.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/Q00354_ConquestOfAlligatorIsland.java
index 319d6a7729..1183376757 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/Q00354_ConquestOfAlligatorIsland.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00354_ConquestOfAlligatorIsland/Q00354_ConquestOfAlligatorIsland.java
@@ -66,7 +66,7 @@ public final class Q00354_ConquestOfAlligatorIsland extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/Q00360_PlunderTheirSupplies.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/Q00360_PlunderTheirSupplies.java
index 7c0d2e3ced..6954ceb031 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/Q00360_PlunderTheirSupplies.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00360_PlunderTheirSupplies/Q00360_PlunderTheirSupplies.java
@@ -64,7 +64,7 @@ public final class Q00360_PlunderTheirSupplies extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -98,7 +98,7 @@ public final class Q00360_PlunderTheirSupplies extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isPet)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st == null) || !Util.checkIfInRange(1500, npc, killer, false))
 		{
 			return super.onKill(npc, killer, isPet);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/Q00366_SilverHairedShaman.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/Q00366_SilverHairedShaman.java
index 26293858c8..580987d88f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/Q00366_SilverHairedShaman.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00366_SilverHairedShaman/Q00366_SilverHairedShaman.java
@@ -59,7 +59,7 @@ public final class Q00366_SilverHairedShaman extends Quest
 	@Override
 	public boolean checkPartyMember(L2PcInstance member, L2Npc npc)
 	{
-		final QuestState qs = member.getQuestState(getName());
+		final QuestState qs = getQuestState(member, false);
 		return ((qs != null) && qs.isStarted());
 	}
 	
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/Q00367_ElectrifyingRecharge.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/Q00367_ElectrifyingRecharge.java
index 9c249d4602..83cbe6c83f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/Q00367_ElectrifyingRecharge.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00367_ElectrifyingRecharge/Q00367_ElectrifyingRecharge.java
@@ -99,7 +99,7 @@ public final class Q00367_ElectrifyingRecharge extends Quest
 			return super.onAttack(npc, attacker, damage, isSummon);
 		}
 		
-		QuestState qs = attacker.getQuestState(getName());
+		QuestState qs = getQuestState(attacker, false);
 		if ((qs == null) || !qs.isStarted())
 		{
 			return super.onAttack(npc, attacker, damage, isSummon);
@@ -120,7 +120,7 @@ public final class Q00367_ElectrifyingRecharge extends Quest
 		{
 			return super.onAttack(npc, attacker, damage, isSummon);
 		}
-		qs = luckyPlayer.getQuestState(getName());
+		qs = getQuestState(luckyPlayer, false);
 		
 		if ((qs != null) && qs.isStarted() && !hasQuestItems(luckyPlayer, TITAN_LAMP5))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/Q00368_TrespassingIntoTheHolyGround.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/Q00368_TrespassingIntoTheHolyGround.java
index 25fbeb4ee4..88dc24e5f1 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/Q00368_TrespassingIntoTheHolyGround.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00368_TrespassingIntoTheHolyGround/Q00368_TrespassingIntoTheHolyGround.java
@@ -60,7 +60,7 @@ public final class Q00368_TrespassingIntoTheHolyGround extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/Q00369_CollectorOfJewels.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/Q00369_CollectorOfJewels.java
index 87bce7979e..8614b25690 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/Q00369_CollectorOfJewels.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00369_CollectorOfJewels/Q00369_CollectorOfJewels.java
@@ -64,7 +64,7 @@ public final class Q00369_CollectorOfJewels extends Quest
 	@Override
 	public boolean checkPartyMember(L2PcInstance member, L2Npc npc)
 	{
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		return ((st != null) && (st.isMemoState(1) || st.isMemoState(3)));
 	}
 	
@@ -121,7 +121,7 @@ public final class Q00369_CollectorOfJewels extends Quest
 			L2PcInstance luckyPlayer = getRandomPartyMember(player, npc);
 			if (luckyPlayer != null)
 			{
-				final QuestState st = luckyPlayer.getQuestState(getName());
+				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) //
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java
index 3f5f298ce7..3801815257 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00370_AnElderSowsSeeds/Q00370_AnElderSowsSeeds.java
@@ -67,7 +67,7 @@ public final class Q00370_AnElderSowsSeeds extends Quest
 	@Override
 	public boolean checkPartyMember(L2PcInstance member, L2Npc npc)
 	{
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		return ((st != null) && st.isStarted());
 	}
 	
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00406_PathOfTheElvenKnight/Q00406_PathOfTheElvenKnight.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00406_PathOfTheElvenKnight/Q00406_PathOfTheElvenKnight.java
index 1b9d097198..6ed6440de5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00406_PathOfTheElvenKnight/Q00406_PathOfTheElvenKnight.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00406_PathOfTheElvenKnight/Q00406_PathOfTheElvenKnight.java
@@ -136,7 +136,7 @@ public final class Q00406_PathOfTheElvenKnight extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState qs = killer.getQuestState(getName());
+		final QuestState qs = getQuestState(killer, false);
 		final ItemChanceHolder reward = MONSTER_DROPS.get(npc.getId());
 		int requiredItemId = KLUTO_BOX;
 		int cond = 2;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00420_LittleWing/Q00420_LittleWing.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00420_LittleWing/Q00420_LittleWing.java
index 2f159ac4b0..6c5de85f82 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00420_LittleWing/Q00420_LittleWing.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00420_LittleWing/Q00420_LittleWing.java
@@ -419,7 +419,7 @@ public final class Q00420_LittleWing extends Quest
 	@Override
 	public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
 	{
-		final QuestState qs = attacker.getQuestState(getName());
+		final QuestState qs = getQuestState(attacker, false);
 		if ((qs != null) && (getQuestItemsCount(attacker, DELUXE_FAIRY_STONE) > 0) && (getRandom(100) < 30))
 		{
 			takeItems(attacker, DELUXE_FAIRY_STONE, -1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00421_LittleWingsBigAdventure/Q00421_LittleWingsBigAdventure.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00421_LittleWingsBigAdventure/Q00421_LittleWingsBigAdventure.java
index f7177143af..df183821d5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00421_LittleWingsBigAdventure/Q00421_LittleWingsBigAdventure.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00421_LittleWingsBigAdventure/Q00421_LittleWingsBigAdventure.java
@@ -375,7 +375,7 @@ public final class Q00421_LittleWingsBigAdventure extends Quest
 	@Override
 	public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
 	{
-		final QuestState qs = attacker.getQuestState(getName());
+		final QuestState qs = getQuestState(attacker, false);
 		if ((qs != null) && qs.isCond(2))
 		{
 			if (isSummon)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/Q00423_TakeYourBestShot.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/Q00423_TakeYourBestShot.java
index f12f1fede2..7b8e5d5500 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/Q00423_TakeYourBestShot.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00423_TakeYourBestShot/Q00423_TakeYourBestShot.java
@@ -58,7 +58,7 @@ public class Q00423_TakeYourBestShot extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -98,7 +98,7 @@ public class Q00423_TakeYourBestShot extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isCond(1))
 		{
 			st.setCond(2, true);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00431_WeddingMarch/Q00431_WeddingMarch.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00431_WeddingMarch/Q00431_WeddingMarch.java
index 63acf90c25..b2f2633041 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00431_WeddingMarch/Q00431_WeddingMarch.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00431_WeddingMarch/Q00431_WeddingMarch.java
@@ -59,7 +59,7 @@ public class Q00431_WeddingMarch extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -90,7 +90,7 @@ public class Q00431_WeddingMarch extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 1);
 		if (member != null)
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			if (getRandomBoolean())
 			{
 				st.giveItems(SILVER_CRYSTAL, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00432_BirthdayPartySong/Q00432_BirthdayPartySong.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00432_BirthdayPartySong/Q00432_BirthdayPartySong.java
index b820ddb8b3..bfd744ab55 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00432_BirthdayPartySong/Q00432_BirthdayPartySong.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00432_BirthdayPartySong/Q00432_BirthdayPartySong.java
@@ -53,7 +53,7 @@ public class Q00432_BirthdayPartySong extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -85,7 +85,7 @@ public class Q00432_BirthdayPartySong extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if ((st != null) && st.isCond(1) && getRandomBoolean())
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00450_GraveRobberRescue/Q00450_GraveRobberRescue.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00450_GraveRobberRescue/Q00450_GraveRobberRescue.java
index 5b22a68ad6..de4aba0401 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00450_GraveRobberRescue/Q00450_GraveRobberRescue.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00450_GraveRobberRescue/Q00450_GraveRobberRescue.java
@@ -59,7 +59,7 @@ public class Q00450_GraveRobberRescue extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00451_LuciensAltar/Q00451_LuciensAltar.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00451_LuciensAltar/Q00451_LuciensAltar.java
index 4c86599b23..52ff71d27a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00451_LuciensAltar/Q00451_LuciensAltar.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00451_LuciensAltar/Q00451_LuciensAltar.java
@@ -62,7 +62,7 @@ public class Q00451_LuciensAltar extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00452_FindingtheLostSoldiers/Q00452_FindingtheLostSoldiers.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00452_FindingtheLostSoldiers/Q00452_FindingtheLostSoldiers.java
index 4068793bb7..fcb2cc2524 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00452_FindingtheLostSoldiers/Q00452_FindingtheLostSoldiers.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00452_FindingtheLostSoldiers/Q00452_FindingtheLostSoldiers.java
@@ -54,7 +54,7 @@ public class Q00452_FindingtheLostSoldiers extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00453_NotStrongEnoughAlone/Q00453_NotStrongEnoughAlone.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00453_NotStrongEnoughAlone/Q00453_NotStrongEnoughAlone.java
index 7e07bdb5f2..8496ef5a60 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00453_NotStrongEnoughAlone/Q00453_NotStrongEnoughAlone.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00453_NotStrongEnoughAlone/Q00453_NotStrongEnoughAlone.java
@@ -111,7 +111,7 @@ public class Q00453_NotStrongEnoughAlone extends Quest
 	
 	private void increaseKill(L2PcInstance player, L2Npc npc)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -221,7 +221,7 @@ public class Q00453_NotStrongEnoughAlone extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00455_WingsOfSand/Q00455_WingsOfSand.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00455_WingsOfSand/Q00455_WingsOfSand.java
index 98bc49aecb..06c69cbfed 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00455_WingsOfSand/Q00455_WingsOfSand.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00455_WingsOfSand/Q00455_WingsOfSand.java
@@ -75,7 +75,7 @@ public class Q00455_WingsOfSand extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, player, false) && (getRandom(1000) < CHANCE))
 		{
 			st.giveItems(LARGE_BABY_DRAGON, 1);
@@ -94,7 +94,7 @@ public class Q00455_WingsOfSand extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00456_DontKnowDontCare/Q00456_DontKnowDontCare.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00456_DontKnowDontCare/Q00456_DontKnowDontCare.java
index 199224ec30..f30dd16d12 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00456_DontKnowDontCare/Q00456_DontKnowDontCare.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00456_DontKnowDontCare/Q00456_DontKnowDontCare.java
@@ -148,7 +148,7 @@ public final class Q00456_DontKnowDontCare extends Quest
 	@Override
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		final QuestState qs = player.getQuestState(getName());
+		final QuestState qs = getQuestState(player, false);
 		final Set<Integer> allowedPlayers = allowedPlayerMap.get(npc.getObjectId());
 		
 		if ((qs == null) || !qs.isCond(1) || (allowedPlayers == null) || !allowedPlayers.contains(player.getObjectId()))
@@ -235,7 +235,7 @@ public final class Q00456_DontKnowDontCare extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState qs;
+		final QuestState qs = getQuestState(player, false);
 		String htmltext = null;
 		
 		switch (event)
@@ -243,14 +243,12 @@ public final class Q00456_DontKnowDontCare extends Quest
 			case "32864-04.htm":
 			case "32864-05.htm":
 			case "32864-06.htm":
-				qs = player.getQuestState(getName());
 				if ((qs != null) && qs.isCreated())
 				{
 					htmltext = event;
 				}
 				break;
 			case "32864-07.htm":
-				qs = player.getQuestState(getName());
 				if ((qs != null) && qs.isCreated())
 				{
 					qs.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00457_LostAndFound/Q00457_LostAndFound.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00457_LostAndFound/Q00457_LostAndFound.java
index 039145e7d5..83ea31638b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00457_LostAndFound/Q00457_LostAndFound.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00457_LostAndFound/Q00457_LostAndFound.java
@@ -69,7 +69,7 @@ public final class Q00457_LostAndFound extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00458_PerfectForm/Q00458_PerfectForm.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00458_PerfectForm/Q00458_PerfectForm.java
index 09df5d76d2..db349d830c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00458_PerfectForm/Q00458_PerfectForm.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00458_PerfectForm/Q00458_PerfectForm.java
@@ -88,7 +88,7 @@ public class Q00458_PerfectForm extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String noQuest = getNoQuestMsg(player);
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return noQuest;
@@ -217,7 +217,7 @@ public class Q00458_PerfectForm extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1))
 		{
 			int npcId = npc.getId();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/Q00461_RumbleInTheBase.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/Q00461_RumbleInTheBase.java
index 90c617ed23..063d347bac 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/Q00461_RumbleInTheBase.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00461_RumbleInTheBase/Q00461_RumbleInTheBase.java
@@ -69,7 +69,7 @@ public class Q00461_RumbleInTheBase extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = null;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
@@ -98,7 +98,7 @@ public class Q00461_RumbleInTheBase extends Quest
 		
 		if (npc.getId() == 18908)
 		{
-			st = player.getQuestState(getName());
+			st = getQuestState(player, false);
 			if ((st != null) && st.isCond(1) && (st.getQuestItemsCount(SHINY_SALMON) < 5))
 			{
 				st.giveItems(SHINY_SALMON, 1);
@@ -117,7 +117,7 @@ public class Q00461_RumbleInTheBase extends Quest
 				return super.onKill(npc, player, isSummon);
 			}
 			
-			st = member.getQuestState(getName());
+			st = getQuestState(member, false);
 			if (st.getQuestItemsCount(SHOES_STRING_OF_SEL_MAHUM) < 10)
 			{
 				st.giveItems(SHOES_STRING_OF_SEL_MAHUM, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00463_IMustBeaGenius/Q00463_IMustBeaGenius.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00463_IMustBeaGenius/Q00463_IMustBeaGenius.java
index 5c0bf66d3e..ac7af7e093 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00463_IMustBeaGenius/Q00463_IMustBeaGenius.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00463_IMustBeaGenius/Q00463_IMustBeaGenius.java
@@ -116,7 +116,7 @@ public class Q00463_IMustBeaGenius extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -158,7 +158,7 @@ public class Q00463_IMustBeaGenius extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return super.onKill(npc, player, isSummon);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00464_Oath/Q00464_Oath.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00464_Oath/Q00464_Oath.java
index 5fbea0fb1c..9b94775d8b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00464_Oath/Q00464_Oath.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00464_Oath/Q00464_Oath.java
@@ -92,7 +92,7 @@ public class Q00464_Oath extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00504_CompetitionForTheBanditStronghold/Q00504_CompetitionForTheBanditStronghold.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00504_CompetitionForTheBanditStronghold/Q00504_CompetitionForTheBanditStronghold.java
index e38089ed8d..09d1d24dba 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00504_CompetitionForTheBanditStronghold/Q00504_CompetitionForTheBanditStronghold.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00504_CompetitionForTheBanditStronghold/Q00504_CompetitionForTheBanditStronghold.java
@@ -69,7 +69,7 @@ public final class Q00504_CompetitionForTheBanditStronghold extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if ((st != null) && event.equals("35437-02.htm"))
 		{
@@ -83,7 +83,7 @@ public final class Q00504_CompetitionForTheBanditStronghold extends Quest
 	@Override
 	public final String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st == null) || !st.hasQuestItems(CONTEST_CERTIFICATE) || !st.isStarted())
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00508_AClansReputation/Q00508_AClansReputation.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00508_AClansReputation/Q00508_AClansReputation.java
index 6761f86b2d..58c7f07641 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00508_AClansReputation/Q00508_AClansReputation.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00508_AClansReputation/Q00508_AClansReputation.java
@@ -78,7 +78,7 @@ public class Q00508_AClansReputation extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00509_AClansFame/Q00509_AClansFame.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00509_AClansFame/Q00509_AClansFame.java
index 5a7533437d..1a1dacc23c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00509_AClansFame/Q00509_AClansFame.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00509_AClansFame/Q00509_AClansFame.java
@@ -73,7 +73,7 @@ public class Q00509_AClansFame extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00510_AClansPrestige/Q00510_AClansPrestige.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00510_AClansPrestige/Q00510_AClansPrestige.java
index 7fe7fdc1e2..d5c9e83acd 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00510_AClansPrestige/Q00510_AClansPrestige.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00510_AClansPrestige/Q00510_AClansPrestige.java
@@ -58,7 +58,7 @@ public class Q00510_AClansPrestige extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -87,14 +87,14 @@ public class Q00510_AClansPrestige extends Quest
 		QuestState st = null;
 		if (player.isClanLeader())
 		{
-			st = player.getQuestState(getName());
+			st = getQuestState(player, false);
 		}
 		else
 		{
 			L2PcInstance pleader = player.getClan().getLeader().getPlayerInstance();
 			if ((pleader != null) && player.isInsideRadius(pleader, 1500, true, false))
 			{
-				st = pleader.getQuestState(getName());
+				st = getQuestState(pleader, false);
 			}
 		}
 		
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00511_AwlUnderFoot/Q00511_AwlUnderFoot.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00511_AwlUnderFoot/Q00511_AwlUnderFoot.java
index 6220c7eb4d..34e4809485 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00511_AwlUnderFoot/Q00511_AwlUnderFoot.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00511_AwlUnderFoot/Q00511_AwlUnderFoot.java
@@ -209,7 +209,7 @@ public final class Q00511_AwlUnderFoot extends Quest
 		}
 		for (L2PcInstance partyMember : party.getMembers())
 		{
-			QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			if ((st == null) || (st.getInt("cond") < 1))
 			{
 				return getHtm(player.getHtmlPrefix(), "FortressWarden-05.htm").replace("%player%", partyMember.getName());
@@ -312,10 +312,7 @@ public final class Q00511_AwlUnderFoot extends Quest
 			{
 				teleportPlayer(partyMember, coords, instanceId);
 				world.addAllowed(partyMember.getObjectId());
-				if (partyMember.getQuestState(getName()) == null)
-				{
-					newQuestState(partyMember);
-				}
+				getQuestState(partyMember, true);
 			}
 		}
 		return getHtm(player.getHtmlPrefix(), "FortressWarden-08.htm").replace("%clan%", player.getClan().getName());
@@ -333,11 +330,7 @@ public final class Q00511_AwlUnderFoot extends Quest
 			tele[2] = -6580;
 			return enterInstance(player, "fortdungeon.xml", tele, _fortDungeons.get(npc.getId()), checkFortCondition(player, npc, true));
 		}
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		QuestState st = getQuestState(player, true);
 		
 		if (event.equalsIgnoreCase("FortressWarden-10.htm"))
 		{
@@ -467,7 +460,7 @@ public final class Q00511_AwlUnderFoot extends Quest
 	
 	private void rewardPlayer(L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st.isCond(1))
 		{
 			st.giveItems(DL_MARK, 140);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java
index 430e1ba4d1..585ca1c190 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00551_OlympiadStarter/Q00551_OlympiadStarter.java
@@ -56,7 +56,7 @@ public class Q00551_OlympiadStarter extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -92,7 +92,7 @@ public class Q00551_OlympiadStarter extends Quest
 	{
 		if (loser != null)
 		{
-			final QuestState st = loser.getQuestState(getName());
+			final QuestState st = getQuestState(loser, false);
 			if ((st != null) && st.isStarted())
 			{
 				final int matches = st.getInt("matches") + 1;
@@ -132,7 +132,7 @@ public class Q00551_OlympiadStarter extends Quest
 			{
 				return;
 			}
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isStarted())
 			{
 				final int matches = st.getInt("matches") + 1;
@@ -168,7 +168,7 @@ public class Q00551_OlympiadStarter extends Quest
 			{
 				return;
 			}
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isStarted())
 			{
 				final int matches = st.getInt("matches") + 1;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00552_OlympiadVeteran/Q00552_OlympiadVeteran.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00552_OlympiadVeteran/Q00552_OlympiadVeteran.java
index 176d58f34b..516b46bccf 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00552_OlympiadVeteran/Q00552_OlympiadVeteran.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00552_OlympiadVeteran/Q00552_OlympiadVeteran.java
@@ -55,7 +55,7 @@ public class Q00552_OlympiadVeteran extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -94,7 +94,7 @@ public class Q00552_OlympiadVeteran extends Quest
 				return;
 			}
 			
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isStarted())
 			{
 				int matches;
@@ -141,7 +141,7 @@ public class Q00552_OlympiadVeteran extends Quest
 			{
 				return;
 			}
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isStarted())
 			{
 				int matches;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java
index d1356f9a02..d6ee464b27 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00553_OlympiadUndefeated/Q00553_OlympiadUndefeated.java
@@ -56,7 +56,7 @@ public class Q00553_OlympiadUndefeated extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -99,7 +99,7 @@ public class Q00553_OlympiadUndefeated extends Quest
 				return;
 			}
 			
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isStarted() && (st.isCond(1)))
 			{
 				final int matches = st.getInt("undefeatable") + 1;
@@ -137,7 +137,7 @@ public class Q00553_OlympiadUndefeated extends Quest
 				return;
 			}
 			
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if ((st != null) && st.isStarted() && (st.isCond(1)))
 			{
 				st.unset("undefeatable");
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00601_WatchingEyes/Q00601_WatchingEyes.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00601_WatchingEyes/Q00601_WatchingEyes.java
index abc6c90c1d..35883ef9a3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00601_WatchingEyes/Q00601_WatchingEyes.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00601_WatchingEyes/Q00601_WatchingEyes.java
@@ -84,7 +84,7 @@ public class Q00601_WatchingEyes extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -122,7 +122,7 @@ public class Q00601_WatchingEyes extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if ((st != null) && st.isCond(1) && (getRandom(1000) < MOBS.get(npc.getId())))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00602_ShadowOfLight/Q00602_ShadowOfLight.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00602_ShadowOfLight/Q00602_ShadowOfLight.java
index ee2203fc72..27ce56a90b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00602_ShadowOfLight/Q00602_ShadowOfLight.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00602_ShadowOfLight/Q00602_ShadowOfLight.java
@@ -84,7 +84,7 @@ public class Q00602_ShadowOfLight extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -122,7 +122,7 @@ public class Q00602_ShadowOfLight extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/Q00605_AllianceWithKetraOrcs.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/Q00605_AllianceWithKetraOrcs.java
index 638e00536f..18f29306e4 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/Q00605_AllianceWithKetraOrcs.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00605_AllianceWithKetraOrcs/Q00605_AllianceWithKetraOrcs.java
@@ -185,7 +185,7 @@ public class Q00605_AllianceWithKetraOrcs extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -269,7 +269,7 @@ public class Q00605_AllianceWithKetraOrcs extends Quest
 		final L2PcInstance member = getRandomPartyMemberState(killer, State.STARTED);
 		if (member != null)
 		{
-			final QuestState st = member.getQuestState(getName());
+			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()))
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/Q00606_BattleAgainstVarkaSilenos.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/Q00606_BattleAgainstVarkaSilenos.java
index 2716c40c7d..8031872302 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/Q00606_BattleAgainstVarkaSilenos.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00606_BattleAgainstVarkaSilenos/Q00606_BattleAgainstVarkaSilenos.java
@@ -75,7 +75,7 @@ public class Q00606_BattleAgainstVarkaSilenos extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -113,7 +113,7 @@ public class Q00606_BattleAgainstVarkaSilenos extends Quest
 		final L2PcInstance member = getRandomPartyMember(killer, 1);
 		if ((member != null) && (getRandom(1000) < MOBS.get(npc.getId())))
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			st.giveItems(MANE, 1);
 			st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
 		}
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/Q00607_ProveYourCourageKetra.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/Q00607_ProveYourCourageKetra.java
index 17fd77843d..cf55d4a6c7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/Q00607_ProveYourCourageKetra.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00607_ProveYourCourageKetra/Q00607_ProveYourCourageKetra.java
@@ -54,7 +54,7 @@ public class Q00607_ProveYourCourageKetra extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.giveItems(SHADITH_HEAD, 1);
@@ -65,7 +65,7 @@ public class Q00607_ProveYourCourageKetra extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/Q00608_SlayTheEnemyCommanderKetra.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/Q00608_SlayTheEnemyCommanderKetra.java
index 8a113e1d97..7cf72317f6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/Q00608_SlayTheEnemyCommanderKetra.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00608_SlayTheEnemyCommanderKetra/Q00608_SlayTheEnemyCommanderKetra.java
@@ -54,7 +54,7 @@ public class Q00608_SlayTheEnemyCommanderKetra extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.giveItems(MOS_HEAD, 1);
@@ -65,7 +65,7 @@ public class Q00608_SlayTheEnemyCommanderKetra extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/Q00609_MagicalPowerOfWaterPart1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/Q00609_MagicalPowerOfWaterPart1.java
index 26e544431f..b10234d5c9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/Q00609_MagicalPowerOfWaterPart1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00609_MagicalPowerOfWaterPart1/Q00609_MagicalPowerOfWaterPart1.java
@@ -95,7 +95,7 @@ public class Q00609_MagicalPowerOfWaterPart1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -139,7 +139,7 @@ public class Q00609_MagicalPowerOfWaterPart1 extends Quest
 	@Override
 	public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
 	{
-		final QuestState st = attacker.getQuestState(getName());
+		final QuestState st = getQuestState(attacker, false);
 		if ((st != null) && st.isCond(2) && !st.isSet("spawned"))
 		{
 			st.set("spawned", "1");
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java
index ad1c217e87..f1f08700be 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00610_MagicalPowerOfWaterPart2/Q00610_MagicalPowerOfWaterPart2.java
@@ -69,7 +69,7 @@ public class Q00610_MagicalPowerOfWaterPart2 extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			if (npc.getId() == ASHUTAR)
@@ -96,7 +96,7 @@ public class Q00610_MagicalPowerOfWaterPart2 extends Quest
 		String htmltext = null;
 		if (player != null)
 		{
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if (st == null)
 			{
 				return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/Q00611_AllianceWithVarkaSilenos.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/Q00611_AllianceWithVarkaSilenos.java
index d8f685d357..e870d755e7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/Q00611_AllianceWithVarkaSilenos.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00611_AllianceWithVarkaSilenos/Q00611_AllianceWithVarkaSilenos.java
@@ -185,7 +185,7 @@ public class Q00611_AllianceWithVarkaSilenos extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -269,7 +269,7 @@ public class Q00611_AllianceWithVarkaSilenos extends Quest
 		final L2PcInstance member = getRandomPartyMemberState(killer, State.STARTED);
 		if (member != null)
 		{
-			final QuestState st = member.getQuestState(getName());
+			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()))
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/Q00612_BattleAgainstKetraOrcs.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/Q00612_BattleAgainstKetraOrcs.java
index 19ca70ff19..6e1829c313 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/Q00612_BattleAgainstKetraOrcs.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00612_BattleAgainstKetraOrcs/Q00612_BattleAgainstKetraOrcs.java
@@ -75,7 +75,7 @@ public class Q00612_BattleAgainstKetraOrcs extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -113,7 +113,7 @@ public class Q00612_BattleAgainstKetraOrcs extends Quest
 		final L2PcInstance member = getRandomPartyMember(killer, 1);
 		if ((member != null) && (getRandom(1000) < MOBS.get(npc.getId())))
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			st.giveItems(MOLAR, 1);
 			st.playSound(QuestSound.ITEMSOUND_QUEST_ITEMGET);
 		}
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/Q00613_ProveYourCourageVarka.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/Q00613_ProveYourCourageVarka.java
index c11708d77f..6c214e69ab 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/Q00613_ProveYourCourageVarka.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00613_ProveYourCourageVarka/Q00613_ProveYourCourageVarka.java
@@ -54,7 +54,7 @@ public class Q00613_ProveYourCourageVarka extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.giveItems(HEKATON_HEAD, 1);
@@ -65,7 +65,7 @@ public class Q00613_ProveYourCourageVarka extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/Q00614_SlayTheEnemyCommanderVarka.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/Q00614_SlayTheEnemyCommanderVarka.java
index ca17ff43e0..19907559ed 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/Q00614_SlayTheEnemyCommanderVarka.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00614_SlayTheEnemyCommanderVarka/Q00614_SlayTheEnemyCommanderVarka.java
@@ -54,7 +54,7 @@ public class Q00614_SlayTheEnemyCommanderVarka extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.giveItems(TAYR_HEAD, 1);
@@ -65,7 +65,7 @@ public class Q00614_SlayTheEnemyCommanderVarka extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/Q00615_MagicalPowerOfFirePart1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/Q00615_MagicalPowerOfFirePart1.java
index 71dc426c2e..47e59c9387 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/Q00615_MagicalPowerOfFirePart1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00615_MagicalPowerOfFirePart1/Q00615_MagicalPowerOfFirePart1.java
@@ -95,7 +95,7 @@ public class Q00615_MagicalPowerOfFirePart1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -139,7 +139,7 @@ public class Q00615_MagicalPowerOfFirePart1 extends Quest
 	@Override
 	public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isSummon)
 	{
-		final QuestState st = attacker.getQuestState(getName());
+		final QuestState st = getQuestState(attacker, false);
 		if ((st != null) && st.isCond(2) && !st.isSet("spawned"))
 		{
 			st.set("spawned", "1");
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java
index 1edafc9dff..24eb503065 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00616_MagicalPowerOfFirePart2/Q00616_MagicalPowerOfFirePart2.java
@@ -69,7 +69,7 @@ public class Q00616_MagicalPowerOfFirePart2 extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			if (npc.getId() == NASTRON)
@@ -96,7 +96,7 @@ public class Q00616_MagicalPowerOfFirePart2 extends Quest
 		String htmltext = null;
 		if (player != null)
 		{
-			final QuestState st = player.getQuestState(getName());
+			final QuestState st = getQuestState(player, false);
 			if (st == null)
 			{
 				return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00617_GatherTheFlames/Q00617_GatherTheFlames.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00617_GatherTheFlames/Q00617_GatherTheFlames.java
index 8fd1a35409..865e28992f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00617_GatherTheFlames/Q00617_GatherTheFlames.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00617_GatherTheFlames/Q00617_GatherTheFlames.java
@@ -89,7 +89,7 @@ public class Q00617_GatherTheFlames extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -159,7 +159,7 @@ public class Q00617_GatherTheFlames extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		if (getRandom(1000) < MOBS.get(npc.getId()))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00618_IntoTheFlame/Q00618_IntoTheFlame.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00618_IntoTheFlame/Q00618_IntoTheFlame.java
index 8000cebd4d..8c15fdbf92 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00618_IntoTheFlame/Q00618_IntoTheFlame.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00618_IntoTheFlame/Q00618_IntoTheFlame.java
@@ -69,7 +69,7 @@ public class Q00618_IntoTheFlame extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -123,7 +123,7 @@ public class Q00618_IntoTheFlame extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 2);
 		if (member != null)
 		{
-			final QuestState qs = member.getQuestState(getName());
+			final QuestState qs = getQuestState(member, false);
 			if ((qs.getQuestItemsCount(VACUALITE_ORE) < REQUIRED_COUNT) && (getRandom(1000) < MONSTERS.get(npc.getId())))
 			{
 				qs.giveItems(VACUALITE_ORE, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java
index 897a587dcd..9ad7a98fcf 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00619_RelicsOfTheOldEmpire/Q00619_RelicsOfTheOldEmpire.java
@@ -226,7 +226,7 @@ public final class Q00619_RelicsOfTheOldEmpire extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00624_TheFinestIngredientsPart1/Q00624_TheFinestIngredientsPart1.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00624_TheFinestIngredientsPart1/Q00624_TheFinestIngredientsPart1.java
index 83565e78ee..1a78648700 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00624_TheFinestIngredientsPart1/Q00624_TheFinestIngredientsPart1.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00624_TheFinestIngredientsPart1/Q00624_TheFinestIngredientsPart1.java
@@ -66,7 +66,7 @@ public final class Q00624_TheFinestIngredientsPart1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -115,7 +115,7 @@ public final class Q00624_TheFinestIngredientsPart1 extends Quest
 				}
 				if (getQuestItemsCount(partyMember, getRegisteredItemIds()) == 150)
 				{
-					partyMember.getQuestState(getName()).setCond(2, true);
+					getQuestState(partyMember, false).setCond(2, true);
 				}
 			}
 			else
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00626_ADarkTwilight/Q00626_ADarkTwilight.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00626_ADarkTwilight/Q00626_ADarkTwilight.java
index eb7ea88a10..9e5996edb9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00626_ADarkTwilight/Q00626_ADarkTwilight.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00626_ADarkTwilight/Q00626_ADarkTwilight.java
@@ -79,7 +79,7 @@ public class Q00626_ADarkTwilight extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -123,7 +123,7 @@ public class Q00626_ADarkTwilight extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			final float chance = (MONSTERS.get(npc.getId()) * Config.RATE_QUEST_DROP);
 			if (getRandom(1000) < chance)
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00627_HeartInSearchOfPower/Q00627_HeartInSearchOfPower.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00627_HeartInSearchOfPower/Q00627_HeartInSearchOfPower.java
index 7c70f052ef..9f0703954c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00627_HeartInSearchOfPower/Q00627_HeartInSearchOfPower.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00627_HeartInSearchOfPower/Q00627_HeartInSearchOfPower.java
@@ -82,7 +82,7 @@ public class Q00627_HeartInSearchOfPower extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -163,7 +163,7 @@ public class Q00627_HeartInSearchOfPower extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(killer, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			final float chance = (MONSTERS.get(npc.getId()) * Config.RATE_QUEST_DROP);
 			if (getRandom(1000) < chance)
 			{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00631_DeliciousTopChoiceMeat/Q00631_DeliciousTopChoiceMeat.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00631_DeliciousTopChoiceMeat/Q00631_DeliciousTopChoiceMeat.java
index e9adc34e73..c811f659e0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00631_DeliciousTopChoiceMeat/Q00631_DeliciousTopChoiceMeat.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00631_DeliciousTopChoiceMeat/Q00631_DeliciousTopChoiceMeat.java
@@ -95,7 +95,7 @@ public class Q00631_DeliciousTopChoiceMeat extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00636_TruthBeyond/Q00636_TruthBeyond.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00636_TruthBeyond/Q00636_TruthBeyond.java
index 0a957e844a..899a6c01ee 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00636_TruthBeyond/Q00636_TruthBeyond.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00636_TruthBeyond/Q00636_TruthBeyond.java
@@ -51,7 +51,7 @@ public final class Q00636_TruthBeyond extends Quest
 	@Override
 	public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java
index 5321805bc3..9068aa87a9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00637_ThroughOnceMore/Q00637_ThroughOnceMore.java
@@ -59,7 +59,7 @@ public final class Q00637_ThroughOnceMore extends Quest
 	@Override
 	public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -79,7 +79,7 @@ public final class Q00637_ThroughOnceMore extends Quest
 	@Override
 	public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && (st.getState() == State.STARTED))
 		{
 			final long count = st.getQuestItemsCount(NECRO_HEART);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00641_AttackSailren/Q00641_AttackSailren.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00641_AttackSailren/Q00641_AttackSailren.java
index f6c3e57367..90297ff0b2 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00641_AttackSailren/Q00641_AttackSailren.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00641_AttackSailren/Q00641_AttackSailren.java
@@ -61,7 +61,7 @@ public class Q00641_AttackSailren extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -89,7 +89,7 @@ public class Q00641_AttackSailren extends Quest
 		final L2PcInstance partyMember = getRandomPartyMember(player, 1);
 		if (partyMember != null)
 		{
-			final QuestState st = partyMember.getQuestState(getName());
+			final QuestState st = getQuestState(partyMember, false);
 			if (st != null)
 			{
 				st.giveItems(GAZKH_FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java
index 2e504de261..ef92003405 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00643_RiseAndFallOfTheElrokiTribe/Q00643_RiseAndFallOfTheElrokiTribe.java
@@ -107,7 +107,7 @@ public class Q00643_RiseAndFallOfTheElrokiTribe extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -190,7 +190,7 @@ public class Q00643_RiseAndFallOfTheElrokiTribe extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		int npcId = npc.getId();
 		
 		if (Util.contains(MOBS1, npcId))
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/Q00644_GraveRobberAnnihilation.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/Q00644_GraveRobberAnnihilation.java
index 0b2fbbff15..8c229e007b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/Q00644_GraveRobberAnnihilation.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00644_GraveRobberAnnihilation/Q00644_GraveRobberAnnihilation.java
@@ -74,7 +74,7 @@ public final class Q00644_GraveRobberAnnihilation extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00645_GhostsOfBatur/Q00645_GhostsOfBatur.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00645_GhostsOfBatur/Q00645_GhostsOfBatur.java
index dcb3e65327..748a42ad14 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00645_GhostsOfBatur/Q00645_GhostsOfBatur.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00645_GhostsOfBatur/Q00645_GhostsOfBatur.java
@@ -62,7 +62,7 @@ public class Q00645_GhostsOfBatur extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -104,7 +104,7 @@ public class Q00645_GhostsOfBatur extends Quest
 		{
 			if (getRandom(1000) < CHANCES[npc.getId() - CONTAMINATED_MOREK_WARRIOR])
 			{
-				final QuestState st = player.getQuestState(getName());
+				final QuestState st = getQuestState(player, false);
 				st.giveItems(CURSED_BURIAL_ITEMS, 1);
 				if (st.isCond(1) && (st.getQuestItemsCount(CURSED_BURIAL_ITEMS) >= 500))
 				{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00647_InfluxOfMachines/Q00647_InfluxOfMachines.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00647_InfluxOfMachines/Q00647_InfluxOfMachines.java
index 95e4125bae..f95ed683ef 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00647_InfluxOfMachines/Q00647_InfluxOfMachines.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00647_InfluxOfMachines/Q00647_InfluxOfMachines.java
@@ -84,7 +84,7 @@ public class Q00647_InfluxOfMachines extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -119,7 +119,7 @@ public class Q00647_InfluxOfMachines extends Quest
 		final L2PcInstance member = getRandomPartyMember(player, 1);
 		if (member != null)
 		{
-			final QuestState st = member.getQuestState(getName());
+			final QuestState st = getQuestState(member, false);
 			if (st.isCond(1) && (getRandom(1000) < MOBS.get(npc.getId())))
 			{
 				st.giveItems(BROKEN_GOLEM_FRAGMENT, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/Q00649_ALooterAndARailroadMan.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/Q00649_ALooterAndARailroadMan.java
index 1e49ba590f..9095b1498b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/Q00649_ALooterAndARailroadMan.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00649_ALooterAndARailroadMan/Q00649_ALooterAndARailroadMan.java
@@ -68,7 +68,7 @@ public final class Q00649_ALooterAndARailroadMan extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -128,7 +128,7 @@ public final class Q00649_ALooterAndARailroadMan extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		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);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00650_ABrokenDream/Q00650_ABrokenDream.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00650_ABrokenDream/Q00650_ABrokenDream.java
index e5eb47cc84..7b835e3415 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00650_ABrokenDream/Q00650_ABrokenDream.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00650_ABrokenDream/Q00650_ABrokenDream.java
@@ -23,6 +23,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import quests.Q00117_TheOceanOfDistantStars.Q00117_TheOceanOfDistantStars;
+
 import com.l2jserver.gameserver.enums.QuestSound;
 import com.l2jserver.gameserver.model.actor.L2Npc;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
@@ -64,7 +66,7 @@ public final class Q00650_ABrokenDream extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -124,7 +126,7 @@ public final class Q00650_ABrokenDream extends Quest
 				}
 				else
 				{
-					final QuestState q117 = player.getQuestState("117_OceanOfDistantStar"); // TODO: Update.
+					final QuestState q117 = player.getQuestState(Q00117_TheOceanOfDistantStars.class.getSimpleName());
 					htmltext = (q117 != null) && q117.isCompleted() ? "32054-01.htm" : "32054-04.htm";
 				}
 				break;
@@ -142,7 +144,7 @@ public final class Q00650_ABrokenDream extends Quest
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
 		final List<L2PcInstance> randomList = new ArrayList<>();
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st != null) && st.isStarted())
 		{
 			randomList.add(killer);
@@ -154,7 +156,7 @@ public final class Q00650_ABrokenDream extends Quest
 		{
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				final QuestState qs = member.getQuestState(getName());
+				final QuestState qs = getQuestState(member, false);
 				if ((qs != null) && qs.isStarted())
 				{
 					randomList.add(member);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00651_RunawayYouth/Q00651_RunawayYouth.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00651_RunawayYouth/Q00651_RunawayYouth.java
index 54abb4de4f..57a99d54df 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00651_RunawayYouth/Q00651_RunawayYouth.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00651_RunawayYouth/Q00651_RunawayYouth.java
@@ -48,7 +48,7 @@ public class Q00651_RunawayYouth extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00652_AnAgedExAdventurer/Q00652_AnAgedExAdventurer.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00652_AnAgedExAdventurer/Q00652_AnAgedExAdventurer.java
index ec40909926..2015824f56 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00652_AnAgedExAdventurer/Q00652_AnAgedExAdventurer.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00652_AnAgedExAdventurer/Q00652_AnAgedExAdventurer.java
@@ -47,7 +47,7 @@ public class Q00652_AnAgedExAdventurer extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00653_WildMaiden/Q00653_WildMaiden.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00653_WildMaiden/Q00653_WildMaiden.java
index 2934d97b86..208bb3ef5b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00653_WildMaiden/Q00653_WildMaiden.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00653_WildMaiden/Q00653_WildMaiden.java
@@ -48,7 +48,7 @@ public class Q00653_WildMaiden extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/Q00659_IdRatherBeCollectingFairyBreath.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/Q00659_IdRatherBeCollectingFairyBreath.java
index e6f9e04392..030a8b260e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/Q00659_IdRatherBeCollectingFairyBreath.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00659_IdRatherBeCollectingFairyBreath/Q00659_IdRatherBeCollectingFairyBreath.java
@@ -61,7 +61,7 @@ public final class Q00659_IdRatherBeCollectingFairyBreath extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00662_AGameOfCards/Q00662_AGameOfCards.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00662_AGameOfCards/Q00662_AGameOfCards.java
index 4c7c5a4eb4..a48bc0357a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00662_AGameOfCards/Q00662_AGameOfCards.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00662_AGameOfCards/Q00662_AGameOfCards.java
@@ -102,7 +102,7 @@ public final class Q00662_AGameOfCards extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
@@ -718,7 +718,7 @@ public final class Q00662_AGameOfCards extends Quest
 		{
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				if (member.getQuestState(getName()) != null)
+				if (getQuestState(member, false) != null)
 				{
 					players.add(member);
 				}
@@ -730,7 +730,7 @@ public final class Q00662_AGameOfCards extends Quest
 		{
 			if (MONSTERS.get(npc.getId()) < getRandom(1000))
 			{
-				final QuestState st = player.getQuestState(getName());
+				final QuestState st = getQuestState(player, false);
 				if (st != null)
 				{
 					st.giveItems(RED_GEM, 1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00688_DefeatTheElrokianRaiders/Q00688_DefeatTheElrokianRaiders.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00688_DefeatTheElrokianRaiders/Q00688_DefeatTheElrokianRaiders.java
index 36cb14a3a5..4723472de6 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00688_DefeatTheElrokianRaiders/Q00688_DefeatTheElrokianRaiders.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00688_DefeatTheElrokianRaiders/Q00688_DefeatTheElrokianRaiders.java
@@ -53,7 +53,7 @@ public class Q00688_DefeatTheElrokianRaiders extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -129,7 +129,7 @@ public class Q00688_DefeatTheElrokianRaiders extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		float chance = (DROP_RATE * Config.RATE_QUEST_DROP);
 		if (getRandom(1000) < chance)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00690_JudesRequest/Q00690_JudesRequest.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00690_JudesRequest/Q00690_JudesRequest.java
index af004b84e6..47cf85485b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00690_JudesRequest/Q00690_JudesRequest.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00690_JudesRequest/Q00690_JudesRequest.java
@@ -76,7 +76,7 @@ public class Q00690_JudesRequest extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -131,7 +131,7 @@ public class Q00690_JudesRequest extends Quest
 		{
 			return null;
 		}
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		
 		final int npcId = npc.getId();
 		int chance = 0;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java
index 1a24030f13..b28ef2e05c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00691_MatrasSuspiciousRequest/Q00691_MatrasSuspiciousRequest.java
@@ -69,7 +69,7 @@ public final class Q00691_MatrasSuspiciousRequest extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -134,7 +134,7 @@ public final class Q00691_MatrasSuspiciousRequest extends Quest
 			return super.onKill(npc, player, isSummon);
 		}
 		
-		final QuestState st = pl.getQuestState(getName());
+		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;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java
index 9a8b2dcff5..ab0b1d51e9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00692_HowtoOpposeEvil/Q00692_HowtoOpposeEvil.java
@@ -113,7 +113,7 @@ public final class Q00692_HowtoOpposeEvil extends Quest
 	@Override
 	public final String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -179,7 +179,7 @@ public final class Q00692_HowtoOpposeEvil extends Quest
 		{
 			return null;
 		}
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		final int npcId = npc.getId();
 		if ((st != null) && QUEST_MOBS.containsKey(npcId))
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00699_GuardianOfTheSkies/Q00699_GuardianOfTheSkies.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00699_GuardianOfTheSkies/Q00699_GuardianOfTheSkies.java
index 2f449ca71f..be2a70343b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00699_GuardianOfTheSkies/Q00699_GuardianOfTheSkies.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00699_GuardianOfTheSkies/Q00699_GuardianOfTheSkies.java
@@ -68,7 +68,7 @@ public class Q00699_GuardianOfTheSkies extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -100,7 +100,7 @@ public class Q00699_GuardianOfTheSkies extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if (st != null)
 		{
 			if (npc.getId() == VALDSTONE)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00700_CursedLife/Q00700_CursedLife.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00700_CursedLife/Q00700_CursedLife.java
index e047376102..b19cc4479d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00700_CursedLife/Q00700_CursedLife.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00700_CursedLife/Q00700_CursedLife.java
@@ -76,7 +76,7 @@ public class Q00700_CursedLife extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st != null)
 		{
@@ -151,7 +151,7 @@ public class Q00700_CursedLife extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st != null)
 		{
 			if (npc.getId() == ROK)
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00701_ProofOfExistence/Q00701_ProofOfExistence.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00701_ProofOfExistence/Q00701_ProofOfExistence.java
index a895e16659..2e4af7eb5a 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00701_ProofOfExistence/Q00701_ProofOfExistence.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00701_ProofOfExistence/Q00701_ProofOfExistence.java
@@ -69,7 +69,7 @@ public class Q00701_ProofOfExistence extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
@@ -101,7 +101,7 @@ public class Q00701_ProofOfExistence extends Quest
 		{
 			return super.onKill(npc, player, isSummon);
 		}
-		final QuestState st = member.getQuestState(getName());
+		final QuestState st = getQuestState(member, false);
 		if (npc.getId() == ENIRA)
 		{
 			final int chance = getRandom(1000);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00702_ATrapForRevenge/Q00702_ATrapForRevenge.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00702_ATrapForRevenge/Q00702_ATrapForRevenge.java
index 040c36a5c9..a6b5003d38 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00702_ATrapForRevenge/Q00702_ATrapForRevenge.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00702_ATrapForRevenge/Q00702_ATrapForRevenge.java
@@ -67,7 +67,7 @@ public class Q00702_ATrapForRevenge extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -272,7 +272,7 @@ public class Q00702_ATrapForRevenge extends Quest
 		{
 			return null;
 		}
-		final QuestState st = partyMember.getQuestState(getName());
+		final QuestState st = getQuestState(partyMember, false);
 		final int chance = getRandom(1000);
 		switch (npc.getId())
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00901_HowLavasaurusesAreMade/Q00901_HowLavasaurusesAreMade.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00901_HowLavasaurusesAreMade/Q00901_HowLavasaurusesAreMade.java
index 255001ab48..ca6e84dab3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00901_HowLavasaurusesAreMade/Q00901_HowLavasaurusesAreMade.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00901_HowLavasaurusesAreMade/Q00901_HowLavasaurusesAreMade.java
@@ -62,7 +62,7 @@ public class Q00901_HowLavasaurusesAreMade extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -106,7 +106,7 @@ public class Q00901_HowLavasaurusesAreMade extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1))
 		{
 			switch (npc.getId())
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/Q00902_ReclaimOurEra.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/Q00902_ReclaimOurEra.java
index ee775cc933..421be8d7c9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/Q00902_ReclaimOurEra.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00902_ReclaimOurEra/Q00902_ReclaimOurEra.java
@@ -73,7 +73,7 @@ public final class Q00902_ReclaimOurEra extends Quest
 	
 	private void giveItem(L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && (st.isStarted()) && (!st.isCond(5)) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.giveItems(MONSTER_DROPS.get(npc.getId()), 1);
@@ -84,7 +84,7 @@ public final class Q00902_ReclaimOurEra extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		String htmltext = null;
 		if (st == null)
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00903_TheCallOfAntharas/Q00903_TheCallOfAntharas.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00903_TheCallOfAntharas/Q00903_TheCallOfAntharas.java
index 88e5069455..966515ee38 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00903_TheCallOfAntharas/Q00903_TheCallOfAntharas.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00903_TheCallOfAntharas/Q00903_TheCallOfAntharas.java
@@ -58,7 +58,7 @@ public class Q00903_TheCallOfAntharas extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			switch (npc.getId())
@@ -87,7 +87,7 @@ public class Q00903_TheCallOfAntharas extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00904_DragonTrophyAntharas/Q00904_DragonTrophyAntharas.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00904_DragonTrophyAntharas/Q00904_DragonTrophyAntharas.java
index e0fe930b10..ac94a39e0e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00904_DragonTrophyAntharas/Q00904_DragonTrophyAntharas.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00904_DragonTrophyAntharas/Q00904_DragonTrophyAntharas.java
@@ -54,7 +54,7 @@ public final class Q00904_DragonTrophyAntharas extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.setCond(2, true);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00905_RefinedDragonBlood/Q00905_RefinedDragonBlood.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00905_RefinedDragonBlood/Q00905_RefinedDragonBlood.java
index c9afee08ed..754ae0f7f7 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00905_RefinedDragonBlood/Q00905_RefinedDragonBlood.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00905_RefinedDragonBlood/Q00905_RefinedDragonBlood.java
@@ -84,7 +84,7 @@ public final class Q00905_RefinedDragonBlood extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			final int itemId = MONSTERS.get(npc.getId());
@@ -107,7 +107,7 @@ public final class Q00905_RefinedDragonBlood extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00906_TheCallOfValakas/Q00906_TheCallOfValakas.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00906_TheCallOfValakas/Q00906_TheCallOfValakas.java
index 92ee6c9fbc..c26cba2e1b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00906_TheCallOfValakas/Q00906_TheCallOfValakas.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00906_TheCallOfValakas/Q00906_TheCallOfValakas.java
@@ -56,7 +56,7 @@ public class Q00906_TheCallOfValakas extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.giveItems(LAVASAURUS_ALPHA_FRAGMENT, 1);
@@ -68,7 +68,7 @@ public class Q00906_TheCallOfValakas extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00907_DragonTrophyValakas/Q00907_DragonTrophyValakas.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00907_DragonTrophyValakas/Q00907_DragonTrophyValakas.java
index 67c3c92022..7bc402a634 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00907_DragonTrophyValakas/Q00907_DragonTrophyValakas.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00907_DragonTrophyValakas/Q00907_DragonTrophyValakas.java
@@ -54,7 +54,7 @@ public class Q00907_DragonTrophyValakas extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.setCond(2, true);
@@ -64,7 +64,7 @@ public class Q00907_DragonTrophyValakas extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q00998_FallenAngelSelect/Q00998_FallenAngelSelect.java b/L2J_DataPack/dist/game/data/scripts/quests/Q00998_FallenAngelSelect/Q00998_FallenAngelSelect.java
index a0b2eada04..03720b3ffc 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q00998_FallenAngelSelect/Q00998_FallenAngelSelect.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q00998_FallenAngelSelect/Q00998_FallenAngelSelect.java
@@ -52,7 +52,7 @@ public class Q00998_FallenAngelSelect extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java
index 158faab44b..bdb164384e 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10267_JourneyToGracia/Q10267_JourneyToGracia.java
@@ -49,7 +49,7 @@ public class Q10267_JourneyToGracia extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java
index 07e1336d94..27828d1cc2 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10268_ToTheSeedOfInfinity/Q10268_ToTheSeedOfInfinity.java
@@ -48,7 +48,7 @@ public class Q10268_ToTheSeedOfInfinity extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java
index b745dd75ef..c2586c9e64 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10269_ToTheSeedOfDestruction/Q10269_ToTheSeedOfDestruction.java
@@ -48,7 +48,7 @@ public class Q10269_ToTheSeedOfDestruction extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java
index d41cf92fe5..5f5a13fbcb 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10271_TheEnvelopingDarkness/Q10271_TheEnvelopingDarkness.java
@@ -48,7 +48,7 @@ public class Q10271_TheEnvelopingDarkness extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java
index d701076f94..25a20268af 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10272_LightFragment/Q10272_LightFragment.java
@@ -75,7 +75,7 @@ public class Q10272_LightFragment extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -143,7 +143,7 @@ public class Q10272_LightFragment extends Quest
 	@Override
 	public final String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(5))
 		{
 			final long count = st.getQuestItemsCount(FRAGMENT_POWDER);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10273_GoodDayToFly/Q10273_GoodDayToFly.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10273_GoodDayToFly/Q10273_GoodDayToFly.java
index 0db3e40f1d..dd20b0b458 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10273_GoodDayToFly/Q10273_GoodDayToFly.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10273_GoodDayToFly/Q10273_GoodDayToFly.java
@@ -60,7 +60,7 @@ public class Q10273_GoodDayToFly extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -97,7 +97,7 @@ public class Q10273_GoodDayToFly extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		final QuestState st = killer.getQuestState(getName());
+		final QuestState st = getQuestState(killer, false);
 		if ((st == null) || !st.isStarted())
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/Q10274_CollectingInTheAir.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/Q10274_CollectingInTheAir.java
index 0cd1eba7ea..dff08d410f 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/Q10274_CollectingInTheAir.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10274_CollectingInTheAir/Q10274_CollectingInTheAir.java
@@ -69,7 +69,7 @@ public class Q10274_CollectingInTheAir extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -86,7 +86,7 @@ public class Q10274_CollectingInTheAir extends Quest
 	@Override
 	public String onSkillSee(L2Npc npc, L2PcInstance caster, Skill skill, L2Object[] targets, boolean isSummon)
 	{
-		final QuestState st = caster.getQuestState(getName());
+		final QuestState st = getQuestState(caster, false);
 		if ((st == null) || !st.isStarted())
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/Q10275_ContainingTheAttributePower.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/Q10275_ContainingTheAttributePower.java
index 2ab6dd4db4..02a0e8ebdc 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/Q10275_ContainingTheAttributePower.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10275_ContainingTheAttributePower/Q10275_ContainingTheAttributePower.java
@@ -65,7 +65,7 @@ public class Q10275_ContainingTheAttributePower extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
@@ -133,7 +133,7 @@ public class Q10275_ContainingTheAttributePower extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance player, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java
index faf62de8f0..02f85f09e3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10276_MutatedKaneusGludio/Q10276_MutatedKaneusGludio.java
@@ -56,7 +56,7 @@ public class Q10276_MutatedKaneusGludio extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -78,7 +78,7 @@ public class Q10276_MutatedKaneusGludio extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		QuestState st = killer.getQuestState(getName());
+		QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return null;
@@ -90,7 +90,7 @@ public class Q10276_MutatedKaneusGludio extends Quest
 			final List<QuestState> PartyMembers = new ArrayList<>();
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				st = member.getQuestState(getName());
+				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);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java
index 56ca2bf9c3..fa0bc67738 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10277_MutatedKaneusDion/Q10277_MutatedKaneusDion.java
@@ -56,7 +56,7 @@ public class Q10277_MutatedKaneusDion extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -78,7 +78,7 @@ public class Q10277_MutatedKaneusDion extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		QuestState st = killer.getQuestState(getName());
+		QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return super.onKill(npc, killer, isSummon);
@@ -90,7 +90,7 @@ public class Q10277_MutatedKaneusDion extends Quest
 			final List<QuestState> PartyMembers = new ArrayList<>();
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				st = member.getQuestState(getName());
+				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);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java
index c627489589..e664faae17 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10278_MutatedKaneusHeine/Q10278_MutatedKaneusHeine.java
@@ -56,7 +56,7 @@ public class Q10278_MutatedKaneusHeine extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -78,7 +78,7 @@ public class Q10278_MutatedKaneusHeine extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		QuestState st = killer.getQuestState(getName());
+		QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return null;
@@ -90,7 +90,7 @@ public class Q10278_MutatedKaneusHeine extends Quest
 			final List<QuestState> PartyMembers = new ArrayList<>();
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				st = member.getQuestState(getName());
+				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);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java
index 2b23fe410b..e6a48a6ed3 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10279_MutatedKaneusOren/Q10279_MutatedKaneusOren.java
@@ -56,7 +56,7 @@ public class Q10279_MutatedKaneusOren extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -78,7 +78,7 @@ public class Q10279_MutatedKaneusOren extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		QuestState st = killer.getQuestState(getName());
+		QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return null;
@@ -90,7 +90,7 @@ public class Q10279_MutatedKaneusOren extends Quest
 			final List<QuestState> PartyMembers = new ArrayList<>();
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				st = member.getQuestState(getName());
+				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);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java
index cd2891a34a..69f93a3ad9 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10280_MutatedKaneusSchuttgart/Q10280_MutatedKaneusSchuttgart.java
@@ -56,7 +56,7 @@ public class Q10280_MutatedKaneusSchuttgart extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -78,7 +78,7 @@ public class Q10280_MutatedKaneusSchuttgart extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		QuestState st = killer.getQuestState(getName());
+		QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return null;
@@ -90,7 +90,7 @@ public class Q10280_MutatedKaneusSchuttgart extends Quest
 			final List<QuestState> PartyMembers = new ArrayList<>();
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				st = member.getQuestState(getName());
+				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);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java
index dd57d0d768..ad1f0aaef0 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10281_MutatedKaneusRune/Q10281_MutatedKaneusRune.java
@@ -54,7 +54,7 @@ public class Q10281_MutatedKaneusRune extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -76,7 +76,7 @@ public class Q10281_MutatedKaneusRune extends Quest
 	@Override
 	public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon)
 	{
-		QuestState st = killer.getQuestState(getName());
+		QuestState st = getQuestState(killer, false);
 		if (st == null)
 		{
 			return null;
@@ -88,7 +88,7 @@ public class Q10281_MutatedKaneusRune extends Quest
 			final List<QuestState> PartyMembers = new ArrayList<>();
 			for (L2PcInstance member : killer.getParty().getMembers())
 			{
-				st = member.getQuestState(getName());
+				st = getQuestState(member, false);
 				if ((st != null) && st.isStarted() && !st.hasQuestItems(TISSUE_WA))
 				{
 					PartyMembers.add(st);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/Q10282_ToTheSeedOfAnnihilation.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/Q10282_ToTheSeedOfAnnihilation.java
index 0ffd04bbfd..fe21d2d9b4 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/Q10282_ToTheSeedOfAnnihilation.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10282_ToTheSeedOfAnnihilation/Q10282_ToTheSeedOfAnnihilation.java
@@ -49,7 +49,7 @@ public class Q10282_ToTheSeedOfAnnihilation extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10283_RequestOfIceMerchant/Q10283_RequestOfIceMerchant.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10283_RequestOfIceMerchant/Q10283_RequestOfIceMerchant.java
index e9a9c2ca7e..47afbc658b 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10283_RequestOfIceMerchant/Q10283_RequestOfIceMerchant.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10283_RequestOfIceMerchant/Q10283_RequestOfIceMerchant.java
@@ -56,7 +56,7 @@ public class Q10283_RequestOfIceMerchant extends Quest
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = event;
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return htmltext;
@@ -112,7 +112,7 @@ public class Q10283_RequestOfIceMerchant extends Quest
 			return "32760-10.html";
 		}
 		
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(2))
 		{
 			return "32760-01.html";
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java
index bd8ede3ea1..e504083da5 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10288_SecretMission/Q10288_SecretMission.java
@@ -52,7 +52,7 @@ public class Q10288_SecretMission extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		
 		if (st == null)
 		{
@@ -99,7 +99,7 @@ public class Q10288_SecretMission extends Quest
 	@Override
 	public String onFirstTalk(L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		// dialog only changes when you talk to Aquilani after quest completion
 		if ((st != null) && st.isCompleted())
 		{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java
index 921c5a76b3..e9926bcc40 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java
@@ -84,7 +84,7 @@ public final class Q10290_LandDragonConqueror extends Quest
 		{
 			if (Util.checkIfInRange(8000, npc, p, false))
 			{
-				QuestState st = p.getQuestState(getName());
+				QuestState st = getQuestState(p, false);
 				
 				if ((st != null) && st.isCond(1) && st.hasQuestItems(SHABBY_NECKLACE))
 				{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java
index f54e5045a0..78b9942986 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java
@@ -56,7 +56,7 @@ public class Q10291_FireDragonDestroyer extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -83,7 +83,7 @@ public class Q10291_FireDragonDestroyer extends Quest
 		{
 			if (Util.checkIfInRange(8000, npc, p, false))
 			{
-				QuestState st = p.getQuestState(getName());
+				QuestState st = getQuestState(p, false);
 				
 				if ((st != null) && st.isCond(1) && st.hasQuestItems(POOR_NECKLACE))
 				{
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java
index be96bcde87..02c5eba01c 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10501_ZakenEmbroideredSoulCloak/Q10501_ZakenEmbroideredSoulCloak.java
@@ -55,7 +55,7 @@ public class Q10501_ZakenEmbroideredSoulCloak extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			final long currentCount = st.getQuestItemsCount(ZAKENS_SOUL_FRAGMENT);
@@ -76,7 +76,7 @@ public class Q10501_ZakenEmbroideredSoulCloak extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && (player.getLevel() >= MIN_LEVEL) && event.equals("32612-04.html"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java
index b0b7bdc8c8..9c91f9c460 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10502_FreyaEmbroideredSoulCloak/Q10502_FreyaEmbroideredSoulCloak.java
@@ -55,7 +55,7 @@ public class Q10502_FreyaEmbroideredSoulCloak extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			final long currentCount = st.getQuestItemsCount(FREYAS_SOUL_FRAGMENT);
@@ -76,7 +76,7 @@ public class Q10502_FreyaEmbroideredSoulCloak extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && (player.getLevel() >= MIN_LEVEL) && event.equals("32612-04.html"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java
index 9a9c82e71f..df278452df 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10503_FrintezzaEmbroideredSoulCloak/Q10503_FrintezzaEmbroideredSoulCloak.java
@@ -56,7 +56,7 @@ public class Q10503_FrintezzaEmbroideredSoulCloak extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			final long currentCount = st.getQuestItemsCount(FRINTEZZAS_SOUL_FRAGMENT);
@@ -77,7 +77,7 @@ public class Q10503_FrintezzaEmbroideredSoulCloak extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && (player.getLevel() >= MIN_LEVEL) && event.equals("32612-04.html"))
 		{
 			st.startQuest();
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10504_JewelOfAntharas/Q10504_JewelOfAntharas.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10504_JewelOfAntharas/Q10504_JewelOfAntharas.java
index fcdc9f9504..419d921b51 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10504_JewelOfAntharas/Q10504_JewelOfAntharas.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10504_JewelOfAntharas/Q10504_JewelOfAntharas.java
@@ -56,7 +56,7 @@ public final class Q10504_JewelOfAntharas extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.takeItems(CLEAR_CRYSTAL, -1);
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/Q10505_JewelOfValakas/Q10505_JewelOfValakas.java b/L2J_DataPack/dist/game/data/scripts/quests/Q10505_JewelOfValakas/Q10505_JewelOfValakas.java
index 48a79f8e15..af0fbb0614 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/Q10505_JewelOfValakas/Q10505_JewelOfValakas.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/Q10505_JewelOfValakas/Q10505_JewelOfValakas.java
@@ -56,7 +56,7 @@ public class Q10505_JewelOfValakas extends Quest
 	@Override
 	public void actionForEachPlayer(L2PcInstance player, L2Npc npc, boolean isSummon)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if ((st != null) && st.isCond(1) && Util.checkIfInRange(1500, npc, player, false))
 		{
 			st.takeItems(EMPTY_CRYSTAL, -1);
@@ -69,7 +69,7 @@ public class Q10505_JewelOfValakas extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		final QuestState st = player.getQuestState(getName());
+		final QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return null;
diff --git a/L2J_DataPack/dist/game/data/scripts/quests/TerritoryWarScripts/TerritoryWarSuperClass.java b/L2J_DataPack/dist/game/data/scripts/quests/TerritoryWarScripts/TerritoryWarSuperClass.java
index 77a70d5545..c19ad7838d 100644
--- a/L2J_DataPack/dist/game/data/scripts/quests/TerritoryWarScripts/TerritoryWarSuperClass.java
+++ b/L2J_DataPack/dist/game/data/scripts/quests/TerritoryWarScripts/TerritoryWarSuperClass.java
@@ -115,7 +115,7 @@ public class TerritoryWarSuperClass extends Quest
 	
 	private void handleKillTheQuest(L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		int kill = 1;
 		int max = 10;
 		if (st == null)
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange1/DarkElvenChange1.java b/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange1/DarkElvenChange1.java
index 4559bc09f5..bc7df16c14 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange1/DarkElvenChange1.java
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange1/DarkElvenChange1.java
@@ -68,7 +68,7 @@ public final class DarkElvenChange1 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -114,11 +114,7 @@ public final class DarkElvenChange1 extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = getNoQuestMsg(player);
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
 		if (player.isSubClassActive())
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange2/DarkElvenChange2.java b/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange2/DarkElvenChange2.java
index cb7c70767b..bc52774a8e 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange2/DarkElvenChange2.java
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/DarkElvenChange2/DarkElvenChange2.java
@@ -86,7 +86,7 @@ public final class DarkElvenChange2 extends Quest
 	@Override
 	public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
 	{
-		QuestState st = player.getQuestState(getName());
+		QuestState st = getQuestState(player, false);
 		if (st == null)
 		{
 			return getNoQuestMsg(player);
@@ -135,11 +135,8 @@ public final class DarkElvenChange2 extends Quest
 	public String onTalk(L2Npc npc, L2PcInstance player)
 	{
 		String htmltext = getNoQuestMsg(player);
-		QuestState st = player.getQuestState(getName());
-		if (st == null)
-		{
-			st = newQuestState(player);
-		}
+		getQuestState(player, true);
+		
 		if (player.isSubClassActive())
 		{
 			return htmltext;
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/dwarven_occupation_change/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/dwarven_occupation_change/__init__.py
index 95a35543a2..db37ca0b78 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/dwarven_occupation_change/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/dwarven_occupation_change/__init__.py
@@ -48,7 +48,7 @@ class Quest (JQuest) :
  def onAdvEvent (self,event,npc,player) :
    npcId    = npc.getId()
    htmltext = event
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -90,7 +90,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    if player.isSubClassActive() :
       st.exitQuest(1)
       return htmltext
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_buffers_2/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_buffers_2/__init__.py
index 0acaf4a34e..87577e114d 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_buffers_2/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_buffers_2/__init__.py
@@ -48,7 +48,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -78,7 +78,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race = player.getRace().ordinal()
    classId = player.getClassId()
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_1/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_1/__init__.py
index 29bf7e48c5..1c9d8fcbc8 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_1/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_1/__init__.py
@@ -51,7 +51,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -79,7 +79,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race    = player.getRace().ordinal()
    classId = player.getClassId()
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_2/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_2/__init__.py
index 966f525954..6165b88097 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_2/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_fighters_2/__init__.py
@@ -62,7 +62,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -92,7 +92,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race = player.getRace().ordinal()
    classId = player.getClassId()
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_1/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_1/__init__.py
index 38c11133a8..ccadd87d15 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_1/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_1/__init__.py
@@ -49,7 +49,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -77,7 +77,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race    = player.getRace().ordinal()
    classId = player.getClassId()
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_2/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_2/__init__.py
index fcb3ae5082..7209ab60f4 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_2/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/elven_human_mystics_2/__init__.py
@@ -51,7 +51,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -81,7 +81,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race = player.getRace().ordinal()
    classId = player.getClassId()
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_1/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_1/__init__.py
index 26483a4d82..63fbaa681e 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_1/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_1/__init__.py
@@ -47,7 +47,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -75,7 +75,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race    = player.getRace().ordinal()
    classId = player.getClassId()
diff --git a/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_2/__init__.py b/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_2/__init__.py
index 6bbb4cd270..7cf00d4592 100644
--- a/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_2/__init__.py
+++ b/L2J_DataPack/dist/game/data/scripts/village_master/orc_occupation_change_2/__init__.py
@@ -52,7 +52,7 @@ class Quest (JQuest) :
    npcId    = npc.getId()
    htmltext = default
    suffix = ''
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, False)
    if not st : return
    race     = player.getRace().ordinal()
    classid  = player.getClassId().getId()
@@ -82,7 +82,7 @@ class Quest (JQuest) :
    return htmltext
 
  def onTalk (self,npc,player):
-   st = player.getQuestState(qn)
+   st = self.getQuestState(player, True)
    npcId = npc.getId()
    race = player.getRace().ordinal()
    classId = player.getClassId()
-- 
GitLab